0

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

我知道这可以很容易地通过让他们托管管道并提交一个编写良好的管道文件来完成,但是有一个问题是我们的应用程序非常大,甚至在全新的 macbook 专业版上也需要 20 分钟来编译,在某些情况下较旧的可能需要 2 小时或更长时间。谢天谢地,Grails 只编译上次编译后发生变化的文件。但是,这不能用于每次运行时都会重新拉取应用程序的 bitbucket 管道。

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

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

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

4

1 回答 1

1

几周前,自托管运行器作为公共测试版提供。以下是详细信息: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/有一些你可以使用的内置的,但你也可以定义你自己的自定义的。本质上,它只是为将来的构建保留目录内容的一种方式。

于 2021-05-24T12:39:28.540 回答