詹金斯管道跳过阶段

时间:2020-09-01 15:17:30

标签: linux jenkins continuous-integration jenkins-pipeline continuous-deployment

我有一个类似于下面的Jenkinsfile来自动进行git pull:

pipeline {
         agent any
    }
    stages {
        stage("Code Checkout") {
            steps {
                script {
                    notifyBuild('STARTED')
                        if (env.BRANCH_NAME == 'test') {
                            checkout scm
                        } else if (env.BRANCH_NAME == 'production') {
                            checkout scm
                        } else {
                            sh 'echo \"environment server not match\" && exit 1'
                        }
                }
            }
        }
        stage("Deploy") {
            steps {
                script {
                        if (env.BRANCH_NAME == 'test') {
                            sh 'ssh root@192.168.1.1 "cd /var/www/html/laravel && git pull origin \$BRANCH_NAME"'
                        } else if (env.BRANCH_NAME == 'production') {
                            sh 'ssh root@192.168.1.2 "cd /var/www/html/laravel && git pull origin \$BRANCH_NAME"'
                        } else {
                              sh 'echo \"environment server not match\" && exit 1'
                        }
                }
            }
        }

然后,我想使用git reset --hard $ GIT_COMMIT命令为回滚添加一个阶段。

我希望此阶段仅在重播或重新运行期间运行..当用户单击重新运行或重播时,仅执行此阶段..部署阶段和其他阶段被跳过。怎么做?

Stage Jenkins

Rerun or Replay button

请帮助。

0 个答案:

没有答案