jenkins构建pipline无法执行shell命令原因

这篇具有很好参考价值的文章主要介绍了jenkins构建pipline无法执行shell命令原因。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题表现

新的服务器上,新安装的jenkins,在上面创建了一个pipline项目,脚本里有shell命令,但是jenkins每次执行都卡住,经过尝试,无论多简单的命令都执行不了,cp,mv等都不行,只有echo能执行。
以为是服务器问题,于是删除该虚拟机重装。
重新把环境安装好,再把一模一样的pipline脚本黏贴进去,这次竟然能执行了。
为什么呢?
先别急!
执行的时候报了一个错,mvn not found。
但是服务器上已经安装好maven,服务器的环境变量里也配好maven_home了,为什么还是报这个错呢?于是百度之,得知,需要到jenkins的Configure System里,全局属性下也配上环境变量,于是兴冲冲的去配上,配置如下:
jenkins pipeline执行shell,踩坑记录,jenkins,运维
保存,然后再去执行刚才的项目。咦?怎么又卡在shell命令上了?难道跟刚才的动作有关系?
这时我想起来,在服务器上配置PATH变量的时候,是追加了MAVEN_HOME,系统原先还有这么一串东西:
jenkins pipeline执行shell,踩坑记录,jenkins,运维
很明显,跟这串配置有关。
于是复制过来,添加到jenkins的PATH配置上。
再一执行,果然可以了。

问题原因

jenkins设置全局变量PATH时,未设置sbin,bin等路径,导致执行不了很多shell命令。
可以看到,这些是系统必备程序的路径配置,所以其实不是执行不了shell命令,而是找不到cp,mv等的路径,所以执行不了,把这些地址配到jenkins的PATH里就可以了!
jenkins pipeline执行shell,踩坑记录,jenkins,运维
正确配置如下:
jenkins pipeline执行shell,踩坑记录,jenkins,运维文章来源地址https://www.toymoban.com/news/detail-594531.html

到了这里,关于jenkins构建pipline无法执行shell命令原因的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins-pipeline自动化构建Java应用

    本实验操作需要:Jenkins,git代码仓库(如gitlab,gitee等都可以),maven,docker,docker镜像仓库(habor,nexus或者阿里云ACR等)以及k8s环境。 本例需要Jenkins插件如下: Git Git Parameter Git Pipeline for Blue Ocean GitLab Credentials Credentials Binding Blue Ocean Blue Ocean Pipeline Editor Blue Ocean Core JS Pi

    2024年02月11日
    浏览(47)
  • Jenkins执行shell命令,提示Pseudo-terminal will not be allocated because stdin is not a terminal.

    我在使用Jenkins远程执行Jmeter脚本的时候,报了这么一个错误 首先看看我的脚本 开始构建后报了个错误 上面这是提示的错误,我们可以看到 Pseudo-terminal will not be allocated because stdin is not a terminal. 其实他的意思就是说想要在被Jenkins所ssh链接的地址上进行操作,我们只需要按照

    2024年02月11日
    浏览(45)
  • 持续集成交付CICD:Jenkins Pipeline与远程构建触发器

    目录 一、实验 1.Jenkins Pipeline本地构建触发器 2.Jenkins Pipeline与远程构建触发器(第一种方式) 3.Jenkins Pipeline与远程构建触发器(第二种方式) 4.Jenkins Pipeline与远程构建触发器(第三种方式) 二、问题 1.pipeline插件依赖安装报错 2.控制台输出环境变量名冲突 3.并行构建job存在

    2024年02月03日
    浏览(46)
  • 【Ubuntu】alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)?

    ​alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)? 1 背景👇🏻👇🏻👇🏻: setup_test为在/root/.bashrc中使用alias设置的别名命令。setup_test在命令行正常执行,但是执行sh脚本, 报错:setup_test:command not found 。 shell脚本内容如下:  2 分析🐰🐰🐰

    2024年02月09日
    浏览(67)
  • k8s上部署jenkins 执行pipeline docker时出现script.sh: 1: docker: not found

    部署jenkins在k8s上 pipeline内容: 报错: 排查: 进入jenkins容器 进入后执行 提示: 所以报错原因,在jenkins容器中没有安装docker 解决方案: 把docker 配置到容器中,在jenkins的yaml中添加以下内容 如果还不行,在jenkins插件管理中安装docker相关插件

    2024年02月13日
    浏览(50)
  • Jenkins-Pipline实现原理

    本文仅探讨jenkins pipline 的原理,是流水线的一个demo版本实现,不能代表Jenkins pipline的具体实现,仅供参考。 Jenkinsfile流水线是Jenkins CI/CD工具中用来定义、构建和管理软件交付流程的一种声明式文件。 它允许将整个软件交付流程以代码的形式进行描述,从而实现对软件交付过

    2024年02月15日
    浏览(44)
  • jenkins pipline 拉取git历史版本

    我的理解是:我们每次提交git的时候,除了保存我们修改的代码外,也缓存了之前提交的代码,可以用于我们查看更新的内容,而Commit ID 就是为了识别这些历史的提交版本 我这里只展示了一个关于 git 版本的字符信息,也是本文最重要的一个,其他都不是必要的 其他的我设

    2024年02月06日
    浏览(41)
  • Jenkins 执行远程shell脚本部署jar文件问题起不来

    如图:最开始的时候没有加: source /etc/profile 这一行, run.sh里面的java -jar xxxx.jar 一直执行不来。 一开始以为是Jenkins执行退出后会kill一切它启动的进程,所以加了在run.sh里面加了export BUILD_ID=dontKillMe,还是不行。后来考虑是环境变量问题,加上source /etc/profile就好了,同时最

    2024年02月07日
    浏览(49)
  • Jenkins执行shell脚本报错:docker: command not found

    搭建完Jenkins之后,着手开始创建构建服务的任务,点击构建,但是一直构建失败,控制台日志一直报错 截图 尝试了了很多解决办法,比如在shell脚本前加上两行代码 但对于我的情况还是不起作用。 最后才发现,是我的Jenkins没有配置全局的PATH环境变量,配置方法如下 1、首

    2024年02月13日
    浏览(42)
  • Linux安装ossutil工具且在Jenkins中执行shell脚本下载文件

    测试中遇到想通过Jenkins下载OSS桶上的文件,要先在linux上安装ossutil工具,记录安装过程如下: 一、下载安装ossutil,使用命令 1.下载:wget https://gosspublic.alicdn.com/ossutil/1.7.13/ossutil64 2.一定要赋权限:chmod 755 ossutil64,不然会提示权限不足 3.配置文件: ./ossutil64 config 输入accessK

    2024年01月19日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包