【问题标题】:Single Jenkins job with multiple deployment具有多个部署的单个 Jenkins 作业
【发布时间】:2018-05-29 13:19:21
【问题描述】:

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

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:

    您可以使用https://wiki.jenkins.io/display/JENKINS/Pipeline+Multibranch+Plugin
    该插件将监视您的 repo 的所有分支,并基于 Jenkinsfile 构建不同的分支。

    在 Jenkinsfile 中你可以使用when 表达式:

       stage('Deploy devl') {
            when {
                expression { env.BRANCH_NAME == 'devl' }
            }
            steps {
                sh 'deploy devl'
            }
        }
    

    【讨论】:

      【解决方案2】:
      1. 您为什么选择在一份工作中做,而不是不同的工作?
      2. 您使用什么工具进行部署?

      我可以建议 - 不要深入了解细节(因为我没有它们)。

      为每个不同的环境都有一个作业,将每个作业连接到相关的 git 存储库和分支,每当构建此作业时,它将执行 scm 签出(您也可以使用钩子在更改时触发它)并部署到相关环境。

      如果您回答 #2,我可能会建议其他选项来管理此问题(可能在同一工作下 - 如果您出于某种原因需要此选项)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-26
        • 1970-01-01
        • 2017-01-09
        • 2019-02-10
        • 1970-01-01
        • 2019-04-06
        • 1970-01-01
        相关资源
        最近更新 更多