具有多个部署的单个Jenkins作业

时间:2018-05-29 13:19:21

标签: jenkins jenkins-plugins

我们如何为不同的环境配置Jenkins作业。我们使用的git存储库具有不同的分支,如master,test和devl,这些环境部署在不同的服务器中。我已经使用参数选项配置了build,因此我可以使用单选按钮从该作业构建任何分支。 当我选择devl分支时,作业需要从devl分支获取最新代码并构建它然后需要部署到devl服务器。如果我们选择测试,则需要部署到测试服务器中。我们如何在同一个工作中配置这个多重部署?

2 个答案:

答案 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)

  1. 你为什么选择在一份工作中完成这项工作,而不是从事不同的工作?
  2. 您使用什么工具进行部署?
  3. 我可以提出建议 - 不要在细节内部过深(因为我没有这些细节)。

    为每个不同的环境创建一个作业,将每个作业连接到相关的git存储库和分支,每当构建这个作业时,它将执行scm checkout(你也可以使用hooks在更改时触发它)并部署到相关环境。

    如果您回答#2,我可能会建议其他方法来管理这个问题(可能在相同的工作下 - 如果您出于某种原因需要这样做)。