Jenkins - 在Jenkins文件中检出git的用户名和密码(groovy)

时间:2017-10-01 10:20:56

标签: git jenkins groovy

我们正在尝试使用AWS DynamoDB(带有KMS加密值)来存储我们的机密而不是使用Jenkins凭据。我们的安全团队建议这样做。

我可以在Jenkins从属设备上获取秘密(git用户名和密码)作为变量,但不知道如何使用这些秘密来使用 checkout 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

1 个答案:

答案 0 :(得分:1)

好的,我终于通过SSH Key提出了一个解决方案。在我的服务器启动脚本(AWS user data)中,我已经(从DynamoDB)获取了我的Git存储库(AWS CodeCommit)的密钥和用户名,并将它们存储在struct~/.ssh/sshkey个文件中分别

这是我的~/.ssh/config文件

~/.ssh/config

而且,这是 checkout git存储库的阶段。

Host git-codecommit.<my_aws_region>.amazonaws.com
  User <my_user>
  StrictHostKeyChecking no
  IdentityFile ~/.ssh/sshkey
  PreferredAuthentications publickey

这不是我在首发时所寻求的,但解决了我的问题。