这是我的第一个Jenkins脚本,它目前在Linux上运行良好但我迁移到MacOS(High Sierra)导致shell脚本错误。
Node和yarn包安装在本地Jenkins用户上。我无法弄清楚为什么会发生这种错误,有人可以帮我解决这个错误吗?
这是我的Jenkins文件:
node {
stage('Check out') {
checkout scm
}
stage('Prepare') {
sh "yarn install"
}
stage('Test') {
sh "yarn test"
}
stage('Sonar') {
if (env.BRANCH_NAME == 'dev') {
def scannerHome = tool 'sonar scanner';
withSonarQubeEnv('sonar') {
sh "${scannerHome}/bin/sonar-scanner"
}
}
}
}
完整记录:
14:43:11使用hariklee / ******
连接到https://api.github.com从6c639bd70ac86cbe6a49ac0b58bcc10e3c64a375获得Jenkinsfile
在耐久性级别运行:MAX_SURVIVABILITY
[Pipeline]节点
在Jenkins上运行 /用户/共享/詹金斯/主页/工作区/ wingman_423_ci_cd-7PSSGRAMBTXUQRESYCNVODXU7IZJLJLPHQOE3KYEPCSAAYAFFD4A
[Pipeline] {
[Pipeline]阶段
[Pipeline] {(Check out)
[Pipeline] checkout
git rev-parse --is-inside-work-tree #timeout = 10 从远程Git存储库中获取更改
git config remote.origin.url https://github.com/wingman-xyz/app.git #timetime = 10
没有标签的提取
从https://github.com/wingman-xyz/app.git
获取上游更改git --version #timetime = 10
使用GIT_ASKPASS设置凭据
git fetch --no-tags --progress https://github.com/wingman-xyz/app.git + refs / heads / 423_ci_cd:refs / remotes / origin / 423_ci_cd
查看修订版6c639bd70ac86cbe6a49ac0b58bcc10e3c64a375(423_ci_cd)
git config core.sparsecheckout #timetime = 10
git checkout -f 6c639bd70ac86cbe6a49ac0b58bcc10e3c64a375
提交消息:" jenkins test"
第一次构建。跳过更改日志。
[Pipeline]}
[Pipeline] // stage
[Pipeline]阶段
[Pipeline] {(Prepare)
[Pipeline] sh
[wingman_423_ci_cd-7PSSGRAMBTXUQRESYCNVODXU7IZJLJLPHQOE3KYEPCSAAYAFFD4A]运行shell脚本
- 纱线安装
/Users/Shared/Jenkins/Home/workspace/wingman_423_ci_cd-7PSSGRAMBTXUQRESYCNVODXU7IZJLJLPHQOE3KYEPCSAAYAFFD4A@tmp/durable-cf573520/script.sh:line 2:yarn:command not found
[Pipeline]}
[Pipeline] // stage
[Pipeline]}
[Pipeline] // node
[Pipeline] Pipeline of Endline
GitHub已收到此提交的构建结果的通知
错误:脚本返回退出代码127
完成:失败
答案 0 :(得分:6)
yarn
变量中没有PATH
命令。
npm install -g yarn
stage('Prepare') {
sh "npm install -g yarn"
sh "yarn install"
}
如果您收到有关未找到npm
命令的错误,则必须使用withEnv() {}
PATH
添加npm
withEnv(['PATH+NODE=/something=/path/to/node/bin']) {
stage('Prepare') {
sh "npm install -g yarn"
sh "yarn install"
}
}