我正在 EC2 实例上设置 Jenkins master,并尝试使用 Docker 根据我的构建的特定映像启动代理。我已经根据文档配置了所有内容,但遇到了一个问题:Jenkins 尝试使用 Docker 代理,但将其保持在“离线”状态,并且构建停留在“仍在等待安排任务”。详情如下:
pipeline {
agent {
node {
label 'docker-python'
}
}
// additional stages...
}
当我运行构建时,Jenkins 日志显示如下消息:
Still waiting to schedule task
All nodes of label ‘docker-python’ are offline
Jenkins 似乎识别了该标签并尝试配置 Docker 代理,但它仍然处于离线状态,并且构建无法继续。
另外,Jenkins上的内置节点显示(不知道是否有帮助):
Disk space is below threshold of 1.00 GiB. Only 470.34 MiB out of 474.74 MiB left on /tmp.
我正在免费运行。
如有任何帮助,我们将不胜感激!
如果“docker-python 镜像”是指 this 那么问题是它没有安装
java
,所以 Jenkins 无法在那里启动代理。 docker 插件实际上会警告您在配置模板时需要 java
。您可能会更幸运地使用 Jenkins 代理映像,例如 this python 之一。但话又说回来,你可能不会。如果您使用的是最新的 LTS Jenkins,那么您已经使用了 Java 17,并且官方代理仍在 Java 11 上。您最好的选择是制作自己的映像。添加正确的 Java 版本、您需要的工具,将其放在 ECR 上,它应该可以工作。