3

我有一个现有的 Jenkins 管道作业,它构建 docker 映像并将其推送到 AWS ECR 存储库。

我们的商店没有使用 ECS。

我想创建一个詹金斯管道作业,它将采用这个最新的 ECR 图像表单存储库并放入现有的 EC2 实例,从该图像创建容器并在某个端口上打开。

需要任何示例管道工作来实现这一点,任何参考也会有所帮助。

4

1 回答 1

2

这是您可以使用 Jenkins 管道从 ECR 中提取 docker 映像的方法:

pipeline
{
    options
    {
        buildDiscarder(logRotator(numToKeepStr: '3'))
    }

    agent any
    environment 
    {
        PROJECT = 'tap_sample'
        ECRURL = 'http://999999999999.dkr.ecr.eu-central-1.amazonaws.com'
        ECRCRED = 'ecr:eu-central-1:tap_ecr'
    }
    stages
    {
        stage('Docker image pull')
        {
            steps
            {
                script
                {
                    sh("eval \$(aws ecr get-login --no-include-email | sed 's|https://||')")
                    docker.withRegistry(ECRURL, ECRCRED)
                    {
                        docker.image(PROJECT).pull()
                    }
                }
            }
        }
    }
}

这个例子取自这篇了不起的文章

于 2019-11-01T10:06:28.963 回答