Jenkins部署ssh连接远程主机执行脚本找不到环境变量的问题

这篇具有很好参考价值的文章主要介绍了Jenkins部署ssh连接远程主机执行脚本找不到环境变量的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在Jenkins部署远程执行其他服务器上的编译脚本时遇到报找不到编译器的问题,耗时两天尝试了排序比较靠前的一些方法,但都没能解决问题,所以决定记录下,希望能帮助到大家。

执行命令:ssh root@远程主机 /studio/test.sh

编译报错:
/bin/sh: 1: aarch64-linux-gnu-gcc: not found
注:尝试了编译其他架构也都一样报对应的编译器不存在

1、首先找到的方法就是在Jenkins里设置全局属性Environment variables,添加PATH,值是编译器路径。添加调试信息echo $PATH发现PATH已成功添加编译器路径,但就是报找不到编译器。

2、远程主机PATH设置在/root/.bashrc文件里,尝试在执行脚本前先source /root/.bashrc,测试结果与1中一样。
为了方便测试,后边直接在Jenkins主机上执行下面的命令进行测试,当which这条命令能打印出编译器路径时即成功。
ssh root@远程主机 “source /root/.bashrc && ehco $PATH && which aarch64-linux-gnu-gcc”

3、参考以下文章中的方法,在相应配置文件中添加PATH并在远程主机上执行source,还是不行。
https://blog.csdn.net/whitehack/article/details/51705889

4、通过对3中博文的学习,在/etc/profile中添加PATH并在执行编译脚本前进行source,终于能找到编译器了,emmmm前边尝试执行前source /root/.bashrc不行source /etc/profile终于可以了,太不容易了,必须记录下。
最终在Jenkins执行的命令:
ssh root@远程主机 “source /etc/profile && /studio/test.sh”文章来源地址https://www.toymoban.com/news/detail-610589.html

到了这里,关于Jenkins部署ssh连接远程主机执行脚本找不到环境变量的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Jenkins通过SSH远程执行Windows批处理bat程序

    确保Windows上成功安装了OpenSSH,可参考:Windows系统下安装OpenSSH-CSDN博客 自行百度 系统管理系统配置,找到Publish over SSH,点击新增 点击 Test Configuration,提示Success,即成功。 关于Remote Directoy参数: 1.为空或不填,会工作在C:UsersAdministrator目录下,即Username对应的目录下 2.如

    2024年04月10日
    浏览(62)
  • shell脚本ssh远程执行命令给变量赋值的问题

    从A机器通过SSH方式到B机器,并执行相关的命令。命令中包含变量及变量的赋值。 代码如下,意思是,ssh到192.111.111.27这台机器,cd到 / 根目录下,并执行ls命令,如果ls出来的结果不为空,则执行echo命令。可以肯定的是 / 根目录下是有内容的。 可以看到当执行到 echo 命令的时

    2024年02月12日
    浏览(49)
  • Jenkins远程连接Windows执行命令

            我在一台linux服务器上安装了Jenkins服务作为Jenkins服务器,除此之外,还有一台Windows电脑,安装了python环境,本地保存着自动化测试用的python代码,这台电脑用于执行基于chrome浏览器的自动化web测试。2台机器都处在同一个网络里。         现在想要达到的效果是,利

    2024年02月11日
    浏览(36)
  • 容器部署Jenkins,执行构建任务后,需要执行宿主机上的shell脚本

    遇到的问题:使用docker 部署了一个Jenkins ,Jenkins里执行构建,构建后需要执行宿主机上的shell脚本,这种该如何操作呢。怎么可以退出到宿主机执行shell,最开始挂载了Jenkins_home目录,可以找到shell脚本,但是shell脚本比如cp目录都是对应的宿主机的,在容器里是找不到 步骤一

    2024年02月15日
    浏览(42)
  • 如何在CentOS系统部署AMH主机面板并实现无公网IP远程连接

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】 AMH 是一款基于 Linux 系统的服务器管理面板,它提供了一系列的功能,包括网站管理、FTP 管理、数据库管理、DNS 管理、SSL 证书管理等。使用 AMH 云主机面板可以

    2024年03月20日
    浏览(47)
  • Java通过OpenSSH(ssh2/ScpClient)远程连接Windows10实现传输文件、解压缩包、执行命令等操作

    远程机器A:Windows 10 专业版 22H2 本地环境:jdk8 设置 -- 应用 -- 应用和功能 -- 可选功能 -- 添加功能 由于我已经安装,在以安装功能里面即可找到。未安装的用户选择添加功能添加即可 启动 OpenSSH SSH Server 服务 输入ssh 出现如下提示即安装成功 编写 bat 脚本,在远程机器上面静

    2024年02月14日
    浏览(85)
  • linux jenkins下找不到主机问题

    Running as SYSTEM Building in workspace /var/jenkins_home/workspace/test_dep SSH: Publishing to [Java] - Label [Java] matches expression [Java] SSH: Connecting from host [cadf75633427] SSH: Connecting with configuration [Java] … SSH: EXEC: STDOUT/STDERR from command [if [ ! -z “1.0.108” ]; then /n/tools/ks deploy user 1.0.1108 test ai else exit -1 fi] …

    2024年02月03日
    浏览(35)
  • 解决python扩展在连接远程服务器时无法使用: 此扩展在此工作区中被禁用,因为其被定义为在远程扩展主机中运行。请在 ‘SSH: xxxxx‘ 中安装扩展以进行启用

    问题如题,解决后的效果如下: 出问题时,在上图中会出现一行小字“此扩展在此工作区中被禁用,因为其被定义为在远程扩展主机中运行。请在 ‘SSH: xxxxx’ 中安装扩展以进行启用”。导致你ctrl点函数不会进行跳转,也就是Python扩展的功能完全没用实现,非常不方便。 具

    2024年02月07日
    浏览(315)
  • shell脚本-批量主机执行命令(expect)

    上次连接多台服务器使用ssh-keygen,24机器去连接22、25,所以存在.ssh/authorized_keys 1.如果有.ssh/authorized_keys该文件则先删除 1.expect命令含义 expect是一种脚本语言,它能够代替人工实现与终端的交互,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互

    2024年02月13日
    浏览(57)
  • Jenkins-执行脚本案例-初步认识JenKins的使用

    环境搭建 基础使用 1 执行脚本 直接输入脚本 新建一个项目 然后输入脚本即可: 立即构建: 查看控制台输出,点击构建的任务查看: 2)指定脚本 这里是docker 脚本记得在挂载的目录中去创建: 脚本内容 得到输出: 通过环境变量 有一些已经内置的环境变量, 可以直接在脚本

    2024年02月01日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包