您可以在内部托管 bitbucket 管道吗?

Can you host a bitbucket pipeline internally?

我们目前正在使用 bitbucket cloud 来托管我们的 grails-app 存储库。我们想设置一些管道来执行 运行 单元测试之类的事情,并确保应用程序在能够将分支合并到 master 之前编译。

我知道这可以很容易地通过让他们托管管道并提交编写良好的管道文件来完成,但是存在一个问题,即我们的应用程序非常大,即使在全新的 macbook pros 上也需要 20 分钟编译,在一些较旧的上可能需要 2 小时或更长时间。值得庆幸的是,Grails 只编译与上次编译相比有更改的文件。但是,这不能用于每次 运行s.

时都会重新启动应用程序的 bitbucket 管道

我对此的解决方案是想在内部为我们设置一个到 运行 的管道,这样它就可以拉取应用程序,然后只需切换到所需的分支并从那里 运行 .如果在 2 个非常不同的分支之间切换,这仍然可能需要一些时间,但这比每次都从新编译要好。

我似乎找不到任何关于使用 bitbucket cloud 在内部托管管道的文档,有人知道这是否可行吗?如果可行,哪里有相关文档?

使用 bitbucket 托管管道找到解决长编译问题本身的方法也是可以接受的。

几周前,自托管运行器作为 public 测试版推出。详情如下:https://community.atlassian.com/t5/Bitbucket-Pipelines-articles/Bitbucket-Pipelines-Runners-is-now-in-open-beta/ba-p/1691022

此外,如果您希望将一些文件从一个版本保留到下一个版本以节省一遍又一遍地做同样的工作,请查看缓存:https://support.atlassian.com/bitbucket-cloud/docs/cache-dependencies/ 有一些内置的那些你可以使用的,但你也可以定义你自己的自定义的。本质上,它只是一种为将来的构建保留目录内容的方法。