我一直在使用csanchez的kubernetes-jenkins插件来运行我的奴隶。一切正常,但是现在我需要一个自定义代理映像。我已经将插件的设置从默认代理映像更改为我的插件(在Container Template-> Docker映像中),但是当我检查k8s中的日志时,我可以看到它仍在使用默认代理。
这是更改它的正确位置吗?这是错误吗?
当我在Jenkinsfile中基于名为“ jnlp”的图像手动添加容器时,它可以正常工作。当我尝试通过GUI进行更改时,它仅使用默认图像。
我还尝试添加具有正确设置的新云条目,但是该条目也无济于事。
答案 0 :(得分:0)
经过大量研究,我找到了根本原因。我正在添加此标签以帮助将来的搜索者。
问题在于,如果您使用YAML定义容器,则该插件将不会使用您的pod模板。如果您没有名为“ jnlp”的容器,它将使用库存图像以静默方式注入一个容器。放在GUI配置中的容器模板中的内容无关紧要。
如果您使用yaml定义了pod,并且想要一个自定义的jnlp图片,那么您还必须在规范中包含该容器定义,并且该容器定义必须命名为“ jnlp”。
作为替代方案,您可以仅使用管道语法而不使用yaml。在这种情况下,它将从模板继承。请注意,这仅在特定情况下有效:
a)您可以使用脚本化管道。我还没有测试过,但是根据我的研究,它可以不受限制地工作。
b)您可以使用声明性管道,但前提是您只有一个容器(不计算jnlp)。如果要对多个容器使用声明性管道,则必须使用yaml。