gpt4 book ai didi

jenkins - 在 Jenkinsfile 中触发远程构建(例如,从脚本)语法

转载 作者:行者123 更新时间:2023-12-05 01:39:07 24 4
gpt4 key购买 nike

我在我的自由式作业中使用了这个选项,但现在我的团队正在制定标准格式,所以我必须在管道脚本中编写我所有的自由式作业,我在谷歌上搜索了很多但没有明白我怎么能写这个管道脚本中的选项。

最佳答案

您可以使用 triggerRemoteJob 管道步骤触发远程 Jenkins 作业。

Documentation: https://jenkins.io/doc/pipeline/steps/Parameterized-Remote-Trigger/

这里是一个简短的示例,说明如何将此步骤与身份验证一起使用。我使用 Jenkins 用户 token 进行身份验证 - token 和用户名存储在 ID 为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx 的 Jenkins 凭据中(混淆后的 ID ofc)。下面示例中的远程作业由单个参数 foo == qwe123 触发,并配置为等待远程作业完成,如果失败,触发远程作业的作业也失败了。

pipeline {
agent any

stages {
stage("Execute remote job") {
steps {
script {
def jobUrl = "https://remote-jenkins-host/job/remote-job-to-trigger/"

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', usernameVariable: 'USERNAME', passwordVariable: 'TOKEN']]) {

def handle = triggerRemoteJob job: jobUrl,
blockBuildUntilComplete: true,
shouldNotFailBuild: true,
parameters: "foo=qwe123",
auth: TokenAuth(apiToken: env.TOKEN, userName: env.USERNAME)

echo "Remote tests status: ${handle.buildStatus.toString()}"
}
}
}
}
}
}

希望对您有所帮助。

关于jenkins - 在 Jenkinsfile 中触发远程构建(例如,从脚本)语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59025583/

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