我们如何为不同的环境配置Jenkins作业。我们使用的git存储库具有不同的分支,如master,test和devl,这些环境部署在不同的服务器中。我已经使用参数选项配置了build,因此我可以使用单选按钮从该作业构建任何分支。 当我选择devl分支时,作业需要从devl分支获取最新代码并构建它然后需要部署到devl服务器。如果我们选择测试,则需要部署到测试服务器中。我们如何在同一个工作中配置这个多重部署?
答案 0 :(得分:1)
您可以使用https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior 这个插件将监视你的repo的所有分支,并根据Jenkins文件构建不同的分支。
在Jenkinsfile中,您可以使用when
表达式:
stage('Deploy devl') {
when {
expression { env.BRANCH_NAME == 'devl' }
}
steps {
sh 'deploy devl'
}
}
答案 1 :(得分:0)
我可以提出建议 - 不要在细节内部过深(因为我没有这些细节)。
为每个不同的环境创建一个作业,将每个作业连接到相关的git存储库和分支,每当构建这个作业时,它将执行scm checkout(你也可以使用hooks在更改时触发它)并部署到相关环境。
如果您回答#2,我可能会建议其他方法来管理这个问题(可能在相同的工作下 - 如果您出于某种原因需要这样做)。