安装插件
创建凭证
忽略已经存在的凭证
这里以创建一个gitllab的账号密码为例
注意这个ID可以不填保存后可以随机生成,此ID唯一
添加后会到凭据页面即可看到
测试
创建一个流水线项目
node ('haimaxy-jnlp'){
stage ("Clone code") {
withCredentials([usernameColonPassword(credentialsId: 'gitlab', variable: 'USERPASS')]){
sh """
git clone http://$USERPASS@"git地址" /ccreate-parent
"""
}
}
stage ("Compile ccreate-parent") {
sh """
ls -l /ccreate-parent
"""
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
这里的用户名和密码变成了"*"
pipeline调用不同凭证的方法
使用SSH私钥文件
withCredentials([file(credentialsId: 'secret', variable: 'FILE')]) {
sh 'use $FILE'
}
- 1
- 2
- 3
使用以冒号分隔的帐号密码
withCredentials([usernameColonPassword(credentialsId: 'gitlab', variable: 'USERPASS')]) {
sh '''
git clone https://$USERPASS@********
'''
}
- 1
- 2
- 3
- 4
- 5
使用字符串类型密钥
withCredentials([string(credentialsId: “CRET-ID”, variable: "varName")]){
sh "echo $varName"
}
- 1
- 2
- 3
获取用户名密码
withCredentials([usernamePassword(credentialsId: “CRET-ID”, usernameVariable: "username", passwordVariable: "password")]){
sh "echo $username $password"
}
- 1
- 2
- 3
参考博客:https://k4nz.com/Software_Engineering/Continuous_Delivery/Jenkins_Pipeline/Plugins_and_Programming/Credentials.html
转载请注明:SuperIT » jenkins pipeline避免使用明文密码