使用 Kaniko 从 Kubernetes CloudBees Jenkins 共享库构建容器时出现问题

Problem using Kaniko to build containers from a Kubernetes CloudBees Jenkins shared-library

我正在尝试使用调用 Kaniko 的 Jenkins 共享库构建容器。 Jenkins 是 CloudBees Core 运行 在 Kubernetes 集群上。

我更喜欢尝试使用 pod 模板来构建容器,但如果必须的话,我可以回退到专用 VM(但我的客户不会高兴)。

问题:运行从简单的 Jenkinsfile 管道中 ning Kaniko 工作正常,但我在尝试 运行 时遇到错误它来自 shared-library.

我的共享库片段:

docker.image('kaniko').inside('-u root --privileged') {
       sh '''#!/busybox/sh
            /kaniko/executor --context `pwd` --destination docker.artifactory.company.com/docker-local/hello-kaniko:latest
            '''
    }

我得到的错误(截断):

.
.
.
Building: default
[Pipeline] stage
[Pipeline] { (Build)
[Pipeline] sh
+ docker inspect -f . kaniko
/home/jenkins/workspace/cloud-services@tmp/durable-28d8debd/script.sh: line 1: docker: not found
[Pipeline] sh
+ docker pull kaniko
/home/jenkins/workspace/cloud-services@tmp/durable-dc065568/script.sh: line 1: docker: not found
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE

有没有其他人能够从 Kubernetes 上 Jenkins 的共享库中获取 Kaniko 运行ning?

我在 kaniko 容器中遇到了类似的问题,我必须做的是将 PATH 添加到环境中:

    withEnv(['PATH+EXTRA=/busybox:/kaniko']) {
      sh '''#!/busybox/sh
      /kaniko/executor (....)
    }