Дженкинс не может найти ионную CLI на Mac - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь заставить Дженкинса построить мой Ionic-проект на моем Mac Mini, но он выдает ошибку с

line 1: ionic: command not found
script returned exit code 127

У меня есть следующий файл Jenkins ..

    pipeline {
      agent any,
      environment {
         PATH='/usr/local/bin:/usr/bin:/bin'
     }
      stages {
        stage('Starting') {
          steps {
            echo 'Starting'
          }
        }
        stage('npm install') {
          steps {
            sh 'npm install'
          }
        }
        stage('IOS Build') {
          steps {
            sh 'ionic cordova build ios --prod --release'
           } 
        }
      }
    }

Ионные должны быть в /usr/local/bin, например, если я получаю следующее ..

Dev-Mac-mini:bin Development$ which ionic
  /usr/local/bin/ionic

И если я запускаю ionic из командной строки, он найден.

Наконец, npm отлично работает.

Любые идеи, что бы он не нашел ionic cli?

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 02 июня 2019

Всегда лучше использовать версию ionic, которую вы добавили в качестве dev-зависимости.А в Jenkinsfile вы можете вызвать его, как показано ниже.

sh "./node_modules/ionic/bin/ionic cordova build ios --prod --release"
0 голосов
/ 03 июня 2019

В моем случае кажется, что часть Jenkins Blue Ocean не любит, когда вы редактируете файл Jenkins вне собственного редактора.Это то, что я делал (просто редактировал из редактора Gitlab).Возможно, у меня были какие-то невидимые символы, поскольку я даже получал ошибки, говоря, что это не похоже на agent any!.

Я удалил все, и начал снова, и на этот раз редактировал только из редактора Blue Ocean, итеперь оригинальный скрипт, как и в моем вопросе, работал нормально, то есть он взял ионную переменную из предоставленной переменной PATH.

0 голосов
/ 02 июня 2019

Попробуйте использовать withEnv:

withEnv([
  "PATH+LOCAL=/usr/local/bin"
]) {
  stage('IOS Build') {
    steps {
      sh 'ionic cordova build ios --prod --release'
    } 
  }
}
...