【问题标题】:Jenkins release automationJenkins 发布自动化
【发布时间】:2017-01-23 10:44:49
【问题描述】:
有没有办法配置单个 Jenkins 作业来执行我的应用程序的每个较新版本的发布?
也就是说,我想详细了解是否可以在没有任何人工干预的情况下执行以下任务。我正在使用 SVN 以及 Artifactory。
要释放标签的分支
将 pom 文件中的快照版本更改为发布版本(针对 pom 中定义的每个依赖项)
获取发布版本 (EAR)
在 Weblogic 实例中部署它。
准备发行说明
标记版本
提前致谢。
【问题讨论】:
标签:
maven
jenkins
automation
release
【解决方案1】:
它可以使用 Multijob 插件完全自动化(也可以使用常规的单个作业,但使用 Multijob 会更容易,您可以使用 Maven 目标而不是一些手动 shell 脚本)。
工作流程开始于:
-
提交并推送到 git
-
git 中的钩子应该通过 http POST 触发作业,所以你需要配置你的作业以接受远程触发。您可以将分支名称作为参数传递
-
作业开始,正在克隆分支(git 插件)
-
启动 Maven 项目到 mvn clean install 并检查单元测试(可选)
-
将 Maven 项目启动到 mvn release:prepare 和 mvn release:perform 以省略 pom.xml 中的 SNAPSHOT
-
标记分支(使用 shell 块和简单的 git 命令)
-
合并到主分支(可选)
-
将 Maven 项目启动到 mvn deploy 以部署到 weblogic(weblogic 应在 ~/.m2/settings.xml 中配置为用于部署工件的存储库
注意:所有任务也可以通过一些 shell 脚本在 1 个作业中完成。最佳做法是使用插件,但有时您会发现在某些任务中使用 shell 脚本更容易。