【问题标题】:How can I setup a trigger in Bamboo if there is a specific tag been pushed to my bitbucket repository如果将特定标签推送到我的 bitbucket 存储库,我如何在 Bamboo 中设置触发器
【发布时间】:2015-05-27 04:32:37
【问题描述】:
我正在尝试使用竹子来管理我的发布过程,只是想知道这是否可行:
- 开发者在本地环境完成集成测试
- 开发者创建一个特定的标签,例如“UAT_1.0.0”并将标签推送到bitbucket
- Bamboo 感知到在bitbucket 上创建了一个新标签“UAT_1.0.0”,然后开始构建过程;之后它将把war文件部署到UAT服务器
- 测试人员签署UAT并创建标签“REL_1.0.0”并将标签推送到bitbucket
- Bamboo 感知到新标签“REL_1.0.0”并开始构建过程。构建完成后,它将war文件部署到PROD服务器
看起来“提交更改时存储库触发构建”是实现该过程的最佳方式。但我找不到进一步前进的方法。有什么想法吗?
【问题讨论】:
标签:
continuous-integration
bitbucket
release
bamboo
release-management
【解决方案1】:
有点晚了,但是……我找到了解决办法。您需要在存储库配置的“排除变更集”部分中放置一个“否定”正则表达式,其中包含您想要的单词。
正则表达式是这样的:
^(?!.测试).$
像这样:repository configuration
这样,竹子只会在消息中使用这个词构建提交。
现在,如果您的提交类似于“提交测试”,bamboo 将构建它
【解决方案2】:
是的,您可以这样做(仅当您可以为其部署自定义插件时)。
您需要构建自定义触发器作为竹子的插件。
- 获取/安装SDK
创建一个插件。见here。
如果您可以访问竹子的源代码,我建议您查看 DependencyTriggerReason、InitialbuildTriggerReason、ScheduledTriggerReason 类。您需要创建一个实现TriggerReason 的类。如果您是开发竹插件的新手,您应该从 this 教程开始。
将其部署到竹子。