Bamboo 有一些重大问题。
我运行一个 Rails 项目,该项目在 Engine Yard 上运行。
我的构建策略如下
- 从源代码签出
- 捆绑安装
- rspec(运行测试)
- 标记我的构建
(创建标签的代码会导致新的提交,部署中使用的标签)
git remote remove origin
git remote add origin <my repo>
git tag Bamboo-${bamboo.buildNumber}
git push origin Bamboo-${bamboo.buildNumber}
在我的部署中,引擎场的工作方式是基于分支或标签进行部署(没有构建工件)
所以在我的部署中,它是一个使用 gem https://github.com/engineyard/engineyard的单一脚本
并运行
ey deploy --environment <staging> --tag=Bamboo- ${bamboo.buildNumber} --app <my app>
Engine yard 做了所有的“东西”来准备构建和部署它。真的只需要 Bamboo 来运行测试,如果它可以工作,则标记构建。
问题
我正在使用 bitbucket 源代码控制,并配置了一个钩子来触发对 master 的任何提交的竹子构建。
问题步骤 4) 正在推送一个导致 bitbucket 执行另一个构建的标签
导致无限筑竹。
正在研究如何解决这个问题。想我可以使用 Bamboo 'Exclude Changesets' 并过滤掉特定的提交消息
所以我的 4) 现在看起来像
git remote remove origin
git remote add origin <my repo>
#create tag
git tag -a Bamboo-${bamboo.buildNumber} - m 'bamboo build'
#push tag
git push origin Bamboo-${bamboo.buildNumber}
但是,根据该汇合页面上的评论。排除 Changsets 不再是可见选项?
我不明白如何才能阻止这个无限的构建循环。