Jenkins – Nombre de usuario y contraseña para verificar git en Jenkinsfile (groovy)

Estamos tratando de usar AWS DynamoDB (con valores encryptions de KMS) para almacenar nuestros secretos en lugar de usar cnetworkingenciales de Jenkins. Esto es aconsejado por nuestro equipo de security.

Puedo search secretos (nombre de usuario y contraseña de git) como variables en los esclavos de Jenkins, pero no estoy seguro de cómo usarlos para consultar el repository de git.

Este es nuestro código existente

stage('SCM Checkout') { checkout([$class: 'GitSCM', branches: [[name: "*/${GIT_BRANCH}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[cnetworkingentialsId: 'GIT_PASSWORD', url: "${GIT_URL}"]]]) } 

Deseo usar la variable GIT_USER y GIT_PASSWORD (recuperada de AWS) en lugar de usar cnetworkingentialsId

De acuerdo, finalmente he encontrado una solución usando SSH Key. En mi secuencia de commands de inicio del server ( datos de usuario de AWS ), he extraído (de DynamoDB) keys y nombre de usuario de mi Git Repository ( AWS CodeCommit ) y las he almacenado en los ~/.ssh/sshkey y ~/.ssh/config , respectivamente.

Aquí está mi file ~/.ssh/config

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

Y, aquí está la etapa para verificar el repository de git.

 stage('Checkout SCM') { git url: 'ssh://git-codecommit.<my_aws_region>.amazonaws.com/v1/repos/<my_repo>', branch: '<my_branch>' } 

Esto no es exactamente lo que estaba buscando en el comienzo, pero resuelve mi problema.