在 Jenkins 中使用 Job DSL 插件时,您可以通过定义 usernamePassword
类型的凭据来安全地传递用户名和密码,并将它们作为参数传递给 Gradle 构建。以下是如何实现这一目标的步骤。
首先,确保您在 Jenkins 中创建了一个 usernamePassword
类型的凭据。您可以在 Jenkins 的“凭据”部分中创建它。
myCredentials
)。在 Job DSL 脚本中,您可以使用 credentials
方法来引用这些凭据,并将它们传递给 Gradle 构建。以下是一个示例:
job('example-job') {
steps {
// 使用 credentials() 方法引用凭据
withCredentials([usernamePassword(credentialsId: 'myCredentials', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
// 在 Gradle 构建中使用环境变量
gradle {
tasks('build')
switches("-Dmy.username=${USERNAME} -Dmy.password=${PASSWORD}")
}
}
}
}
withCredentials
:这是一个用于在 Jenkins Pipeline 中使用凭据的块。在 Job DSL 中,您可以使用类似的方式来引用凭据。usernamePassword
:这是一个特定类型的凭据,您可以通过 credentialsId
引用它。usernameVariable
和 passwordVariable
:这些参数定义了将凭据的用户名和密码存储到环境变量中的名称。在这个例子中,用户名存储在 USERNAME
中,密码存储在 PASSWORD
中。gradle
:这是一个构建步骤,您可以在其中定义要执行的 Gradle 任务和参数。switches
:您可以在这里传递 Gradle 选项。在这个例子中,我们使用 -D
选项将用户名和密码作为系统属性传递给 Gradle。保存您的 Job DSL 脚本并运行 Jenkins Job。Jenkins 将使用您提供的凭据执行 Gradle 构建,并将用户名和密码作为参数传递。
build.gradle
中使用 System.getProperty('my.username')
和 System.getProperty('my.password')
来访问这些属性。没有搜到相关的文章