如何解决詹金斯找不到 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 举报,一经查实,本站将立刻删除。