[英]Not able to read Git Environment variables Jenkins using Groovy Jenkinsfile
[英]Jenkins - Username and Password to checkout git in Jenkinsfile (groovy)
我們正在嘗試使用 AWS DynamoDB(帶有 KMS 加密值)來存儲我們的秘密,而不是使用 Jenkins 憑證。 這是我們的安全團隊建議的。
我能夠獲取機密(git 用戶名和密碼)作為 Jenkins 從機上的變量,但不確定如何使用它們來使用這些來檢出git 存儲庫。
這是我們現有的代碼
stage('SCM Checkout') {
checkout([$class: 'GitSCM', branches: [[name: "*/${GIT_BRANCH}"]],
doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [],
userRemoteConfigs: [[credentialsId: 'GIT_PASSWORD', url: "${GIT_URL}"]]])
}
我想使用變量 GIT_USER 和 GIT_PASSWORD(從 AWS 獲取)而不是使用credentialsId
好的,我終於想出了一個使用 SSH Key 的解決方案。 在我的服務器啟動腳本( AWS 用戶數據)中,我已經(從 DynamoDB)獲取了我的 Git 存儲庫( AWS CodeCommit )的密鑰和用戶名,並將它們分別存儲在~/.ssh/sshkey
和~/.ssh/config
文件中。
這是我的~/.ssh/config
文件
Host git-codecommit.<my_aws_region>.amazonaws.com
User <my_user>
StrictHostKeyChecking no
IdentityFile ~/.ssh/sshkey
PreferredAuthentications publickey
而且,這是檢出git 存儲庫的階段。
stage('Checkout SCM') {
git url: 'ssh://git-codecommit.<my_aws_region>.amazonaws.com/v1/repos/<my_repo>', branch: '<my_branch>'
}
這不是我一開始想要的,但解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.