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

时间:2019-04-30 11:09:53

标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy

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

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

我的搜索总是使我回到相同的页面,但不幸的是,它们对我没有帮助:-(

有人解决了相同的问题,可以给我提示吗?

非常感谢您

1 个答案:

答案 0 :(得分: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'
        }
    }
}