【问题标题】:How to use ECR Image in Jenkins ECS plugin如何在 Jenkins ECS 插件中使用 ECR Image
【发布时间】:2020-03-29 07:20:09
【问题描述】:

我有一个安装了 Amazon EC2 容器服务插件 的 Jenkins 服务器。我可以使用 jenkins/jnlp-slave 等示例图像在 ECS 中运行从属设备,但我想使用 AWS ECR 存储库中存在的我自己的自定义图像作为从属设备。

我在配置系统部分的 ECS 模板中将映像名称指定为 {ID}.dkr.ecr.us-east-1.amazonaws.com/python-slave:latest,

但它无法调出从机。我去ECS集群查看错误原因,我可以在任务详细信息中看到对于ECR图像它正在尝试使用以下命令来调出容器,

-url http://xyz:8084/ b0a06a93aa32251b22ae3a1a198e2d8a2057f2808b7947ed612b9e1eebb109c5 'ecs java slave-4b15n' 

失败,错误为,

Status reason   CannotStartContainerError: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"-url\": executable file not found in $PATH": unknown
Command ["-url","http://xyz:8084/","b0a06a93aa32251b22ae3a1a198e2d8a2057f2808b7947ed612b9e1eebb109c5","ecs java slave-4b15n"]
Privileged  false

但是如果我使用像 jenkins/jnlp-slave 这样的示例图像,它使用以下命令并且运行良好

jenkins-agent -url http://xyz:8084/ bf8b42ab34d2691732026d8f454027c46d4ddaf9e9a7abc5af9c1ce417facf7a 'ecs java slave-x6p3z'

我试图找出这种行为的确切原因,但没有运气。无论如何我们可以使用ECS插件将ECR图像用作jenkins Slave。

【问题讨论】:

    标签: jenkins jenkins-plugins amazon-ecs


    【解决方案1】:

    我也遇到了这个问题。您必须使用 jnlp-slave 映像,或带有构建工具的扩展映像或 cloudbees 从属映像(如果您使用的是 cloudbees)。

    然后,您可以通过添加所需的库来扩展 docker 映像。您可以使用 'apt-get' 向其中添加图像

    一个用python扩展从属图像的例子

    FROM jenkins/jnlp-slave:latest
    RUN apt-get install -y -f python3 python3-pip
    
    

    将其视为通用 debian 映像。你可以安装任何你需要的东西。

    【讨论】:

      【解决方案2】:

      为了拉取 ECR 镜像,我们应该通过注册中心对 docker 客户端进行身份验证,那么只有你应该能够拉取镜像

      例如。 $(aws ecr get-login --no-include-email --region us-east-1)

      【讨论】:

      • ECS 实例能够拉取镜像,但由于命令从 -url 而不是问题描述的 jenkins-agent 开始,因此无法将其作为容器运行
      【解决方案3】:

      我遇到了同样的问题。我将自定义映像推送到 docker hub,并在 ECS 容器服务插件中将其路径指定为“用户名/存储库”。请记住,会有一个带有“最新”标签的图像版本。我仍在研究如何对 ECR 上的自定义图像做同样的事情。解决后我会在这里更新。

      【讨论】:

        猜你喜欢
        • 2018-04-26
        • 1970-01-01
        • 1970-01-01
        • 2019-05-28
        • 2019-04-29
        • 2017-02-24
        • 2019-01-01
        • 2012-09-07
        • 2018-06-26
        相关资源
        最近更新 更多