gpt4 book ai didi

jenkins - 当 Jenkins 工作已经在相同或不同的 Jenkins 工作中运行时,如何保持 Jenkins 工作

转载 作者:行者123 更新时间:2023-12-02 09:20:31 26 4
gpt4 key购买 nike

我有两个 Jenkins 工作 - Jenkins Job1 和 Jenkins Job2。

我有多个应用程序并使用相同的 Jenkins 来构建应用程序。如果相同的应用程序在 Jenkins 中运行 - 我想暂停直到上一个构建完成。我们该如何处理这种情况?

谢谢!

注意:我们正在使用 Jenkins Pipeline Job 类型

最佳答案

这里有两个选项,使用可锁定资源插件(https://wiki.jenkins-ci.org/display/JENKINS/Lockable+Resources+Plugin)

示例用法:

stage("Build Legacy"){
steps{
lock('Oracle-DB'){
//with Bamboo SVN credentials, build using ant
withCredentials([string(credentialsId: 'credentials', variable: 'credentials')]) {
sh "ant $BUILD_PROFILE -Dsvn.password=${env.credentials} -Dsvn.username=${credentials_name}"
}
}
}
}

任何想要使用该锁的管道脚本都必须等待它被释放。

或者使用禁用并发构建。仅当它们全部构建在同一个多分支管道中时,这才有效。

示例用法:

options {
disableConcurrentBuilds()
}

PSA:

不要忘记创建保留策略,否则您可能很快就会耗尽空间。将这一行添加到您的选项声明中。

示例用法:

buildDiscarder(logRotator(artifactNumToKeepStr: '5'))

关于jenkins - 当 Jenkins 工作已经在相同或不同的 Jenkins 工作中运行时,如何保持 Jenkins 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com