我们使用标准的git流分支模型(开发,主,释放,修补程序等).
作为我们工作流程的一部分,我们想通过jenkins设置“一键式”发布.
我正在看着jgitflow-maven-plugin.我可以设置这个插件来做一个从jenkins的一键释放吗?如果是,配置选项是什么?
特别是,我可以做这样的事情吗?
Jenkins Job Maven goals: release-start release-finish -Dsomething -Delse
有没有办法告诉它从最新的-SNAPSHOT版本自动构建,例如如果版本是1.2.3-SNAPSHOT,它将构建release-1.2.3.
否则,是否有一个maven插件根据git流分支模型构建版本(即从开发构建并创建一个名为release-x.y.z的新发行版分支).
解决方法
虽然这个答案是一岁,我想指出,同时jgitflow(v1.0-m5.1)可以与maven批处理模式一起工作.
所以要发布一个工件只需一个命令,你可以执行:
mvn --batch-mode jgitflow:release-start jgitflow:release-finish
您不需要设置developmentVersion和releaseVersion.
JGitFlow将使用当前版本减去-SNAPSHOT部分作为版本.然后它增加最低有效位数,并再次添加-SNAPSHOT用于下一个开发版本.
示例1.0.0-SNAPSHOT – >发布:1.0.0,下一个开发版本:1.0.1-SNAPSHOT
为了配置单击Jenkins发行工作,您需要配置一些有关Git的内容.
源代码管理> Git>其他行为选择
>删除存储库强制git克隆:只是为了确保工作区是干净的
>结帐到特定的本地分行:您的开发分支.
最后,发行本地在您的Jenkins服务器上发生,因此您希望将更改推回到您的Git远程服务器.
要完成此操作,最简单的方法是添加执行以下bash命令的后构建操作(分支名称可能会有所不同,我使用了JGitFlow默认值):
git push origin develop master --tags
注意如果Jenkins在Windows上运行,则您必须执行包含相同命令的批处理脚本(有时由于Windows的SSH问题而无法使用)或相应地配置Git Publisher后构建操作.