小编Ans*_*rth的帖子

在 Jenkinsfile 中对 ECR 进行身份验证,以便我可以提取图像来运行构建?

这里的情况是我们有一个应用程序,该应用程序当前正在 Jenkins slave 上构建,并在其上安装了特定版本的节点。我们想要标准化构建环境,因此想要在 docker 容器中构建。

通过我的研究,这绝对是可能的。然而,我们面临的挑战是我们想要使用我们自己管理并存储在 ECR 中的自定义图像。我们不想使用 docker hub 上的那些。考虑到这一限制,我正在努力在我的 Jenkinsfile 中对我们的 ECR 进行身份验证。理想情况下,我可以做这样的事情:

pipeline {
    agent {
        docker {
            image 'node:7'
            registryUrl 'ecr_url.amazonaws.com'
            registryCredentialsId 'ecr:us-east-1:iam_role'
        }
    }
    stages {
        stage('Build') {
            steps {
                sh 'command goes here'
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这里的问题是,我们的 ECR 登录依赖于在 Jenkins 工作器(安装了 aws cli)上运行 shell 命令来登录并访问图像。到目前为止,我还没有在 Jenkinsfile 中进行身份验证,所以我可以提取一个图像来运行构建。有谁知道这是否可能,如果是,如何编辑 Jenkinsfile 来做到这一点?

amazon-web-services jenkins docker jenkins-pipeline aws-ecr

5
推荐指数
1
解决办法
7205
查看次数