这是我的第一个Jenkins脚本,它目前在Linux上运行良好,但我迁移到MacOS(High Sierra),结果得到了shell脚本错误。
节点和纱线包安装在本地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
[管道]节点
在/Users/Shared/Jenkins/Home/workspace/wingman_423_ci_cd-7pssgrambtxuqresycnvodxu7izjlphqoe3kyepcsaayaffd4a中运行
[管道]{
[管道]阶段
[管道]{(签出)
[管道]结账
git rev-parse--is-inder-work-tree#timeout=10从远程Git存储库获取更改
git-config-remote。起源网址https://github.com/wingman-xyz/app.git#超时=10
无标签抓取
从https://github.com/wingman-xyz/app.git获取上游变化
git——版本#超时=10
使用GIT_ASKPASS设置凭据
git fetch--无标记--进度https://github.com/wingman-xyz/app.gitrefs/heads/423_ci_cd:refs/remotes/origin/423_ci_cd
检查版本6C639BD70AC86CBE6A49AC0B58BC10E3C64A375(423_Ciu_cd)
git配置core.sparsecheckout#timeout=10
git签出-f 6C639BD70AC86CBE6A49AC0B58BC10E3C64A375
提交消息:"詹金斯测试"
第一次建造。跳过更改日志。
[管道]}
[管道]//阶段
[管道]阶段
[管道]{(准备)
[管道]上海
[wingman_423_ci_cd-7pssgrambtxuqresycnvodxu7izjlphqoe3kyepcsaayaffd4a]运行shell脚本
/用户/共享/詹金斯/主页/工作区/wingman_423_ci_cd-7PSSGRAMBTXUQRESYCNVODXU7IZJLJLPHQOE3KYEPCSAAYAFFD4A@tmp/耐用-cf573520/script。sh:第2行:未找到纱线:命令
[管道]}
[管道]//阶段
[管道]}
[管道]//节点
[管道]管道末端
GitHub已被通知此提交的构建结果
错误:脚本返回退出代码127
完成:失败
PATH
变量中没有warn
命令。请在安装前执行npm安装-g纱线
stage('Prepare') {
sh "npm install -g yarn"
sh "yarn install"
}
如果您得到一个关于未找到npm
命令的错误,那么您必须使用withEnv(){}
将npm显式添加到PATH
withEnv(['PATH+NODE=/something=/path/to/node/bin']) {
stage('Prepare') {
sh "npm install -g yarn"
sh "yarn install"
}
}
问题内容: 已解决 :感谢S.Richmond的以下答复我需要取消所有类型的存储映射,这意味着将变量和使用后作废。 附加 :搜索此错误的人员可能有兴趣使用Jenkins管道步骤- 在此处查找更多信息。 我正在尝试使用Jenkins Pipeline从用户那里获取输入,该输入作为json字符串传递给作业。管道然后使用隔离器对此进行解析,然后选择重要信息。然后,它将使用该信息与不同的作业参数并行运行1
下面是我简单的jenkins pipeline groovy脚本,它将用这两个阶段和我们想要构建的作业创建一个管道,我希望在job configuration下的脚本中每次都更新用于构建和代码分析的作业名,方法是从用户界面中获取数据,用户将使用Eclipse提供构建作业名和代码分析作业名- jenkinsfile脚本:-
我可以在我的笔记本电脑上成功安装jenkins online。但是,当试图离线安装詹金斯(jenkins)时(在我无法连接到互联网的办公室工作站上),情况就不妙了。在经营詹金斯家族之后。命令行战争虽然jenkins已经成功安装,但一些插件却丢失了。我设法从帖子中获得了一些帮助,如何在Jenkins中手动安装插件? 但是每个插件都必须单独下载,然后复制到我的离线机器上。所以我耍了个花招。我复制了(在
问题内容: 尝试粘贴到我安装了Java JDK的位置,但是Jenkins一直说: 还尝试并得到: 任何人最后一个文件夹/文件应该是什么?我假设bin \ java,但这给我带来麻烦。 问题答案: 应该指向
问题内容: 我们有几个Java项目。每个项目都有自己的交付管道。 所有管道都具有以下共同的步骤(简化): 建立项目 发布项目 部署到测试环境 部署到生产环境 项目管道仅在项目特定的属性(例如服务名称或测试和生产环境的IP地址)上有所不同。 问题是:我们如何避免所有项目都有共同之处?Jenkins的“管道作为代码”是否提供类似管道模板的内容? 我可以想象一个模板将在我们的项目管道中节省很多冗余代码/
问题内容: 我有一个docker撰写文件 而且我已经配置了詹金斯工作以通过调用另一个外壳文件“ environment.sh”来执行此文件,但是它尝试执行以下错误: 我如何在jenkins服务器中下载和配置docker-compose,也没有可用的插件!,适用于docker-compose 问题答案: $ PATH环境变量中可能不存在您。 首先,您应该删除所有冲突的内容- 在大多数Linux系统上