Jenkins在Mac上找不到ionic CLI
我正试图让詹金斯在我的MacMini上构建我的Ionic项目,但它出错了Jenkins在Mac上找不到ionic CLI,jenkins,ionic-framework,jenkins-pipeline,Jenkins,Ionic Framework,Jenkins Pipeline,我正试图让詹金斯在我的MacMini上构建我的Ionic项目,但它出错了 line 1: ionic: command not found script returned exit code 127 我有以下詹金斯的档案 pipeline { agent any, environment { PATH='/usr/local/bin:/usr/bin:/bin' } stages { stage('Star
line 1: ionic: command not found
script returned exit code 127
我有以下詹金斯的档案
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是什么吗
提前感谢尝试使用
with env
:
withEnv([
"PATH+LOCAL=/usr/local/bin"
]) {
stage('IOS Build') {
steps {
sh 'ionic cordova build ios --prod --release'
}
}
}
最好使用作为开发人员依赖项添加的IONAL版本。在Jenkinsfile中,您可以像下面那样调用它
sh "./node_modules/ionic/bin/ionic cordova build ios --prod --release"
在我的例子中,Jenkins的
Blue Ocean
部分似乎不喜欢您在自己的编辑器之外编辑Jenkins文件。这就是我正在做的(只是从Gitlab编辑器编辑)。也许我有一些看不见的字符,因为我甚至得到错误,说它不喜欢任何代理
我删除了所有内容,然后重新开始,这次只从Blue Ocean编辑器编辑,现在我的问题中的原始脚本运行良好,即它从提供的路径中拾取了ionic cli。正确答案如下:
TLDR:添加
#/bin/bash-l
在jenkins作业开始时如果您使用的是主代理通信方式,请尝试重新启动jenkins代理。否则重新启动jenkins实例或服务。我尝试使用上述方法,但当我进入Blue Ocean编辑屏幕时,从该存储库中的jenkins文件加载管道时出错。通过使用声明性语法编辑Jenkins文件,然后将其提交回存储库来更正错误。应为“}”,在第27行第1列找到了“”。`应仍然能够使用全局安装的CLI(我有全局安装的CLI,而不是本地安装的CLI)