簡體   English   中英

Jenkins - 在 Jenkinsfile 中結帳 git 的用戶名和密碼(groovy)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM