微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

詹金斯找不到 docker-compose

如何解决詹金斯找不到 docker-compose


我创建了一个 Jenkins 管道,我需要从 Bitbucket 中提取存储库,使用 Jenkins 进行生产构建,然后将映像推送到 Docker 集线器。这个 Jenkins 设置是从 docker image jenkins/jenkins:lts **on server not local** 运行的。

在全局工具安装中,我已经安装了 NodeJS 工具,以下输入用于安装全局 npm 包:docker-compose@1.29.0 yarn@1.22.10

基本上在第一阶段,我正在运行 sh "yarn",它安装依赖项并按预期工作。
但是具有 sh "yarn production:build" 的下一个阶段会引发此错误/var/jenkins_home/workspace/og_Online_Tools_cicd_jenkinsfile@tmp/durable-21c42918/script.sh: docker-compose: not found

在项目的 package-json 中,production:build 脚本是 "production:build": "u=username p=password ef=.env docker-compose up --build"

我在 Jenkinsfile 中像这样运行它:

...
stage('Install dependencies') {
   steps {
      nodejs('Node 14.16') {
         sh "yarn"
      }
   }
}
stage('Run production build') {
   steps {
      nodejs('Node 14.16') {
         script {
            dockerImage = sh "yarn production:build"
         }
      }
   }
}
...

我尝试过:

...
stage('Install dependencies') {
   steps {
      nodejs('Node 14.16') {
         sh "yarn"
         sh "yarn --version"
         sh "npm install -g docker-compose"
         sh "docker-compose --version"
      }
   }
}
...

并且 npm 安装通过,但它仍然在 docker-compose 上引发错误

构建中还有这个控制台输出

+ yarn production:build
yarn run v1.22.10
$ u=username p=password ef=.env docker-compose up --build
/bin/sh: 1: docker-compose: not found
error Command Failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

感谢任何见解。 谢谢

//////更新//////

我已经进入 jenkins docker 容器并为 docker-compose 运行 curl 命令,但是它只在 /usr/local/bin 中创建了一个 docker-compose 文件。 下一次构建尝试抛出 /usr/local/bin 的访问被拒绝。
现在 docker-compose 通过 npm install -g 正确安装,但是在 docker-compose --version 我得到:

+ docker-compose --version
/var/jenkins_home/workspace/og_Online_Tools_cicd_jenkinsfile@tmp/durable-a04e890d/script.sh: 1:
/var/jenkins_home/workspace/og_Online_Tools_cicd_jenkinsfile@tmp/durable-a04e890d/script.sh: docker-compose: not found

当我运行 echo "PATH=$PATH" 时,我得到: PATH=/var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_14.16/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
再次感谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。