Jenkins中管道案例脚本(声明式语法)

pipeline {
    agent any

    parameters {
        choice(
            choices: 'feature\nmaster\npercent10',
            description: '选择要发布的分支,默认是feature',
            name: 'deploy_branch'
        )

        choice(
            choices: 'service\ncontroller\nadmin-web',
            description: '选择要发布的服务,默认是controller',
            name: 'deploy_service'
        )

    }

    stages {
        stage ("Git") {
            steps {
                  // Get some code from a GitHub repository
                  //sh "echo test-auto-release"
                  script {
                      manager.addShortText("分支:"+manager.envVars['deploy_branch'])
                      manager.addShortText("服务:"+manager.envVars['deploy_service'])
                  }
                  sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh git-jmucai ${deploy_branch}"'
            }
        }


        stage ("Build") {
            steps {
                    // Run the maven build
                    //sh "echo test-auto-release"
                    sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh mvn-jmucai"'

            }
        }


        stage ("Copy") {
            steps {
                  // Copy file to server
                  script {
                      if ( deploy_service == 'service') {
                          sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh copy-jmucai service IP3 jmucai-hc-pro-core.pem"'
                      } else if ( deploy_service == 'controller') {
                          sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh copy-jmucai controller IP2 jmucai-hc-pro-core.pem"'
                        } else if ( deploy_service == 'admin-web') {
                          sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh copy-jmucai admin-web IP2 jmucai-hc-pro-core.pem"'
                        }
                        
                  }

            }
        }


        stage ("Issu") {
            steps {
                // Update
                script {
                  if ( deploy_service == 'service') {
                    sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh issu-jmucai service IP3 jmucai-hc-pro-core.pem"'

                  } else if ( deploy_service == 'controller') {
                    sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh issu-jmucai controller IP2 jmucai-hc-pro-core.pem"'
                    } else if ( deploy_service == 'admin-web') {
                    sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh issu-jmucai admin-web IP2 jmucai-hc-pro-core.pem"'
                    }
                 }
                }
            }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值