【发布时间】: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