我有 Jenkins Slave 节点作为 EC2 实例,我在其中运行我的 CI/CD 并将图像推送到 AWS ECR。
stage('Push Image to ECR'){
steps{
withAWS(region: 'us-east-1', roleAccount: shared_services_account, role:
'Role-Name') {
sh 'eval \$(aws ecr get-login --no-include-email --region us-east-1)'
sh 'docker tag test-image 5722XXXXXX.dkr.ecr.us-east-
1.amazonaws.com/Dev/DC/DCservice:latest'
sh 'sudo docker push 572205XXXX.dkr.ecr.us-east-
1.amazonaws.com/Dev/DC/DCservice:latest'
}
现在我的 EC2 Jenkins 从节点和 ECR 在同一个帐户中。
但是对于生产,如果想使用相同的 Jenkins EC2 从节点并将其推送到生产 AWS 账户的 ECR。
我相信下面的代码不起作用,因为它会推送到同一 AWS 账户的 ECR?
sh 'eval \$(aws ecr get-login --no-include-email --region us-east-1'
请建议我如何使用相同的 EC2 从节点推送到产品 AWS 账户的 ECR。