3

Bamboo 有一些重大问题。

我运行一个 Rails 项目,该项目在 Engine Yard 上运行。

我的构建策略如下

  1. 从源代码签出
  2. 捆绑安装
  3. rspec(运行测试)
  4. 标记我的构建

(创建标签的代码会导致新的提交,部署中使用的标签)

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' 并过滤掉特定的提交消息

https://confluence.atlassian.com/display/BAMBOO/Bitbucket?focusedCommentId=610435557&#comment-610435557

所以我的 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 不再是可见选项?

我不明白如何才能阻止这个无限的构建循环。

4

1 回答 1

0

我们使用 Bamboo,标签不会为我们启动构建。

我们的标签流程是:

git tag -a v1.4.2 -m 'Production Release: [date]
git push origin --tags

--tags推送时尝试使用该选项。

于 2016-05-05T13:29:30.917 回答