只应运行一组多个管道中的一个管道

问题描述 投票:0回答:1

我尝试在jenkins中配置不同的管道2.我的问题是我的所有管道都需要相同的工作空间路径(在我的配置脚本中配置customWorkspace)。

现在我必须防止多个管道正在运行。

我的搜索总是让我回到相同的页面,遗憾的是没有帮助我:-(

有没有人已经解决了同样的问题,可以给我一个提示?

非常感谢你

jenkins jenkins-pipeline jenkins-plugins jenkins-groovy
1个回答
0
投票
def locked = false;

pipeline {

    agent any 

    stages {

        stage('check workspace lock status') {
            steps {
                script {
                    locked = fileExists file: '.lock'

                    if(locked == false) {
                        touch file: '.lock'
                    }
                }
            }
        }

        stage('build') {
            when {
                beforeAgent true
                expression { locked == false }
            }
            steps {
                // do something you want
            }
        }
    }
    post {
        always {
            sh 'rm -f .lock'
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.