gpt4 book ai didi

jenkins - 在 Jenkins 声明性管道的参数中定义凭证参数?

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

我目前使用带有参数化构建的 Jenkins Delarative 管道

pipeline {
agent any
parameters {
booleanParam(name: 'cleanDB',defaultValue: false,description: 'should clean db ?' )
string(name: 'host',defaultValue: 'xyx',description: 'DB Host')
}
stages {
stage('Build') {
steps {
sh 'mvn verify'
}
}
stage('Execute') {
steps {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'CREDENTIALS', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']])
{
sh "ant " +"-Ddb.clean=${params.cleanDB} -Ddb.host=${params.host} -Ddb.userid=$USERNAME \"-Ddb.password=$PASSWORD\" "
}
}
}
}
}

当我尝试使用参数构建时,它只提示两个参数 cleanDB,主机参数。我希望它也询问要采用哪个凭证参数。只有在参数化构建中通过 UI 显式添加时才需要。

那么我如何在参数中添加凭据参数,任何人都可以分享一个在以下语法中定义它的示例。
parameters {
booleanParam(name: 'cleanDB',defaultValue: false,description: 'should clean db ?' )
string(name: 'host',defaultValue: 'xyx',description: 'DB Host')
credentialParam(name: 'host',description: 'Credentials')
}

最佳答案

而截至今天 (2017-08-29) jenkins docs仅提及可能参数的字符串和 bool 类型,还有一些 ticket回答这个问题。它说要做:

parameters {
credentials(name: 'CredsToUse', description: 'A user to build with', defaultValue: '', credentialType: "Username with password", required: true )
}

我刚试过,效果很好。第一次执行时它什么都不问,它只是为作业创建参数。之后它会要求提供凭据。

自然,它适用于声明式流水线语法,因此必须用“流水线”包围。

关于jenkins - 在 Jenkins 声明性管道的参数中定义凭证参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43736638/

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