直升机,
我正在使用 Bamboo 部署由 git repo push 触发的 Java webapp 项目。我的要求是根据条件部署,
- “分支被推”和
- “新提交被标记为某个值”
是否可以使用现有插件完成?如果我必须手动实现它,有可能吗?如何?
直升机,
我正在使用 Bamboo 部署由 git repo push 触发的 Java webapp 项目。我的要求是根据条件部署,
是否可以使用现有插件完成?如果我必须手动实现它,有可能吗?如何?
使用最新的 Atlassian Bamboo 主要版本(第 5 版,请参阅https://www.atlassian.com/software/bamboo/deploy)可能有更简单、更直接的方法。我当然会接受围绕这些类型的功能的一些额外的自动化/部署工作流,但我实现了类似于您在没有插件的情况下所要求的东西,并且已经非常成功地使用了八个月。
以下是它的工作原理:
testing
分支,该分支执行一套单元、集成、功能和工作流测试,并构建各种文档。这就像你的 (1): "branch is push"testing
分支,对其进行标记,然后推送标记。我认为步骤(1)和(3)在应用程序之间会有很大差异。但是,步骤(2)可能会遇到您想要的东西。以下是有关该计划及其相关任务的详细信息:
testing
分支,启用强制清理构建git remote add origin git@github.com:/repo.git || exit 0
git
带参数的可执行文件pull origin testing
来确保我们与上游存储库一致git
带参数的可执行文件fetch --all --tags
从所有存储库中获取最新标签bash
带有自定义脚本的可执行文件将我们的代码库版本更改为标签的名称。git
带参数的可执行文件push origin --tags
来推送在上一步中创建的标签。(5)中提到的自定义脚本如下所示:
scripts/version.sh ${DATE}
git commit -m "bumped version"
git tag -af "${DATE}" -m "Build server tagged ${DATE}"
为了完整起见,我|| exit 1
在脚本中的任何地方都使用以确保它们快速失败,但为了简洁起见,将它们省略了。
tl; dr据我所知,没有插件支持您的要求。有可能的。方式会因您而异,希望我所阐述的内容表明了这一点。