【发布时间】:2021-04-23 15:43:17
【问题描述】:
我们有两个阶段,一个是构建 docker 映像,另一个是使用 prisma pluging 扫描它。
构建图像:
stage('Build Docker image preproduction') {
steps {
script {
dockerImage = docker.build("${env.docker_image_name}")
}
}
}
stage('Prisma Cloud Scan') {
steps {
prismaCloudScanImage dockerAddress: "$DOCKER_HOST", image: "${env.docker_image_name}:latest", logLevel: 'debug', resultsFile: 'prisma-cloud-scan-results.json'
}
}
这在大多数情况下都可以正常工作,但在某些情况下(1 比 20)几乎(1 比 20)作业失败了,我们收到此错误:
[PRISMACLOUD] Scanning images remotely on default-5mn8k
[PRISMACLOUD] Waiting for scanner to complete
[PRISMACLOUD] /home/jenkins/agent/workspace/ild_chore_add-prisma-to-pipeline/twistcli6275500796561372150 images scan otherimagename:1234 --docker-address tcp://localhost:2375 --min-scan-time 1611048549280 --ci --publish --details --address https://XXXXXXXXXprisma_host_hereXXXXX --ci-results-file prisma-cloud-scan-results.json
[ild_chore_add-prisma-to-pipeline] $ /home/jenkins/agent/workspace/ild_chore_add-prisma-to-pipeline/twistcli6275500796561372150 images scan otherimagename:1234 --docker-address tcp://localhost:2375 --min-scan-time 1611048549280 --ci --publish --details --address https://XXXXXXXXXprisma_host_hereXXXX --ci-results-file prisma-cloud-scan-results.json
[PRISMACLOUD] failed to find image otherimagename:1234
[PRISMACLOUD] Scanner failed to run properly. Status: 1
在此消息之前,我们可以在控制台中看到映像已经存在于 docker 主机中:
+ docker build -t otherimagename:1234 .
Sending build context to Docker daemon 20.54MB
Step 1/2 : FROM nginx:stable
---> b9e1dc12387a
Step 2/2 : COPY docs /usr/share/nginx/html
---> Using cache
---> 09787d1a562e
Successfully built 09787d1a562e
Successfully tagged otherimagename:1234
你能帮我弄清楚发生了什么吗?我们还在两个步骤之间设置了一个睡眠时间,但仍然面临问题。
【问题讨论】:
-
它总是在同一个
slave上运行吗? -
不,我会尝试强制在之前失败的代理上运行构建。
-
我启动了几次,然后出现了问题。如果我在失败的节点上修复了构建,则构建每次都失败,因此它解释了随机行为。我会尝试看看这个特定的节点。
-
感谢您的评论,问题是由于本地docker注册表配置错误,我们通过清理注册表修复了它。对于特定的奴隶。
-
太棒了!请回答此问题并在 48 小时后接受。参考:stackoverflow.com/help/self-answer
标签: docker jenkins continuous-integration prisma