Jenkins Pipeline"纱线安装"命令未找到

时间:2018-01-27 08:37:34

标签: jenkins jenkins-pipeline

这是我的第一个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

     

完成:失败

1 个答案:

答案 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"
    }
}