如何为Jenkins管道的不同阶段设置不同的分支

如何为Jenkins管道的不同阶段设置不同的分支,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我有下一条管道: pipeline { agent any stages { stage('CLEAN/INSTALL') { steps { sh 'mvn clean install -DskipTests' } } stage('RUN ON DEV') { //run against branch 'default' st

我有下一条管道:

pipeline {
    agent any
    stages {
        stage('CLEAN/INSTALL') {
            steps {
                sh 'mvn clean install -DskipTests'
            }
        }
        stage('RUN ON DEV') { //run against branch 'default'
            steps {
                sh 'mvn test  -Dspring.profiles.active=dev'
            }
        }
        stage('RUN ON QA') { //run against branch 'qa-stable'
            steps {
                sh 'mvn test  -Dspring.profiles.active=qa'
            }
        }
    }
}
我想在不同的阶段针对不同的分支运行测试: 如何做到这一点?

谢谢

只需添加一个sh'git checkout blah'

pipeline {
    agent any
    stages {
        stage('CLEAN/INSTALL') {
            steps {
                sh 'mvn clean install -DskipTests'
            }
        }
        stage('RUN ON DEV') { //run against branch 'default'
            steps {
                sh 'mvn test -Dspring.profiles.active=dev'
            }
        }
        stage('RUN ON QA') { //run against branch 'qa-stable'
            steps {
                // might need to stash if you have any unignored files changed by your build
                sh 'git checkout qa-stable'
                sh 'mvn test -Dspring.profiles.active=qa'
                // you might also want to re checkout your original branch
            }
        }
    }
}

对每个阶段使用不同的scm步骤和所需的分支,或者只为运行“git clean-dfx&&git checkout$NEEDED_BRANCH”@hopetds I Use mercurial的每个阶段添加一个sh步骤。请您提供一个示例或代码示例。这对我来说是一个全新的话题。