gpt4 book ai didi

docker - 为什么 Jenkins 没有为 docker 构建使用正确的图像?

转载 作者:行者123 更新时间:2023-12-04 03:25:51 25 4
gpt4 key购买 nike

无论我尝试什么,我似乎都无法获得一个 declerative 管道来使用正确的图像在 docker 容器中构建我的项目。

我已验证以下内容:

  • Jenkins 确实构建了正确的图像(基于日志中的消息)
  • 当我手动构建图像时,它是正确构建的
  • 使用正确的镜像在容器中构建项目时,构建成功
  • Jenkins 步骤在带有一些图像的容器中运行。

据我所知,Jenkins 只是使用了基础镜像而不是正确的镜像,这是由我指定的 dockerfile 产生的。

我尝试过的事情:

让 Jenkins 解决

pipeline {
agent dockerfile

在顶层使用 docker:

pipeline {
agent {
dockerfile {
filename 'Dockerfile'
reuseNode true
}
}
stages {
stage('configure') {
steps {

每一步都使用docker

pipeline {
agent none
stages {
stage('configure') {
agent {
dockerfile {
filename 'Dockerfile'
reuseNode true
}
}
steps {

缩写,由于例子的数量。在指定区域之外的任何地方都没有提到 Docker,只需删除 docker 部分并使用常规代理就可以正常工作。

日志

日志没用。他们只是声明他们构建镜像并验证它们存在,然后无法执行刚刚安装的命令(在本例中为介子)。

最佳答案

首先,我建议你阅读:

如果没有任何日志或关于您的设置的更详细说明,很难为您提供帮助。我可以肯定地告诉你,第二次尝试是错误的,因为

reuseNode is valid for docker and dockerfile, and only has an effect when used on an agent for an individual stage.

相反,我不确定第三次尝试如何工作:使用 agent none 时,您强制每个阶段都有一个 agent 部分,但在该阶段的 agent 部分,您将 reuseNode 选项设置为 true。这不是矛盾吗?如果顶级节点不存在,您如何重用该节点?

我知道这不是答案,但我认为留在评论中也太长了。

关于docker - 为什么 Jenkins 没有为 docker 构建使用正确的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67613938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com