当前位置: 首页 > news >正文

【Jenkins 】配置从节点之后,环境配置

Jenkins 从节点环境配置

  • 1. ERROR: Maven Home /usr/local/maven doesnt exist
  • java.io.IOException: Cannot run program "/usr/local/openjdk-8/bin/java" (in directory "/home/jenkins/workspace/workspace/dev-tp-manager-backend/tp-manager-backend"): error=2
  • 2. The JAVA_HOME environment variable is not defined correctly
  • 3. 从节点环境变量未正常识别

1. ERROR: Maven Home /usr/local/maven doesnt exist

需要配置Maven环境,并且有一点需要注意的是,如果是用 Docker 启动的 Jenkins,从节点需要配置的 maven 目录需要跟 容器内 Maven 配置一样。

比如我这里运行 Jenkins 容器时,将Maven目录挂载出来了。容器内 Maven 路径为:/usr/local/maven,那么在从节点上,也需要在此路径下整个Maven。

由于主节点直接把maven挂载出来了,我这里直接 Copy 主节点的 Maven目录到从节点,然后构建步骤就可以正常使用Maven了。

java.io.IOException: Cannot run program “/usr/local/openjdk-8/bin/java” (in directory “/home/jenkins/workspace/workspace/dev-tp-manager-backend/tp-manager-backend”): error=2

原因:Java环境变量不一致。

由于 Jenkins 内部默认使用的是 OpenJDK ,但是从节点上安装的Oracle的JDK。虽然配置了环境变量,但是Jenkins默认走的还是 OpenJdk。

这里将容器内部的 OpenJdk-8 给 copy 出来,然后传到从节点。

查看容器:

[root@localhost soft]# docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED         STATUS       PORTS                                              NAMES
7f402c2baab1   jenkinszh/jenkins-zh   "/sbin/tini -- /usr/…"   16 months ago   Up 2 weeks   0.0.0.0:50000->50000/tcp, 0.0.0.0:9999->8080/tcp   jenkins

拷贝容器文件夹 openjdk-8 到宿主机目录:/usr/soft

docker cp jenkins:/usr/local/openjdk-8 /usr/soft/

将 OpenJdk 传到从节点上:scp -r openjdk-8 root@192.168.104.5:/usr/local/

接着再次构建,可以看到正常构建了。

2. The JAVA_HOME environment variable is not defined correctly

编译 Java 环境时异常,提示环境变量异常

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

此时我已确认 /etc/profile 文件和 ~/.bashrc 文件都包含了 JAVA_HOME 这个环境变量了,但是还是不行。

最后排查全局变量里面有个配置:JAVA_HOME 路径是另一个从节点的路径,导致当前从节点的环境变量被覆盖了。

在运行阶段查看环境变量可以使用: sh 'printenv' 部分日志如下:
在这里插入图片描述

3. 从节点环境变量未正常识别

如果是在主节点上 Launch Agent 连接的从节点,则需要配置:

进入 Jenkins 节点配置 → 「Launch method」选择「Launch agent via SSH」→ 点击「高级」。

在「Prefix Start Agent Command」中添加加载命令,强制加载 /etc/profile 输入 source /etc/profile &&

在这里插入图片描述
配置完成后,还需要先断开此节点: Jenkins 节点配置 → 断开连接 → 让该节点临时下线
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后再次上线:
在这里插入图片描述
再次查看环境变量:
在这里插入图片描述

http://www.dtcms.com/a/586305.html

相关文章:

  • 如何防范恶意网站PHP手机网站开发工程师
  • Maven项目及Tomcat配置(IDEA)
  • 地方门户网站规划答题小程序开发教程
  • py day34 装饰器
  • 珠海市外贸网站建设公司中美军事的最新消息
  • 制作静态网站当前网站开发用什么软件
  • 天津制作网站wordpress能用手机管理吗
  • Redis面试
  • 网网站建设设计大连弗莱科技官方网站
  • 【个人成长笔记】将Try Ubuntu里面配置好的文件系统克隆在U盘上(创建一个带有持久化功能的Ubuntu Live USB系统)
  • 汤阴县seo快速排名有哪家好seo排名查询工具
  • 常州网站推广培训江宁滨江网站建设
  • 幻灯片网站源码临安网站设计
  • 自己做的游戏
  • 海南住房城乡建设网站淘宝导购网站模板
  • 三维空间平面方程
  • 网站 售后服务申请域名邮箱
  • 手机App里的动画是如何实现的-安卓动画深入探索
  • Lua中的可变参数
  • 夜晚的梦
  • 销售平台网站建设方案手机网站开发建设方案
  • Git 入门教程
  • 建行企业网站如何学编程入门教程
  • 做国外直播网站有哪些宜春做网站 黑酷seo
  • 重生归来,我要成功 Python 高手--day33 决策树
  • AI大模型全景图:十大核心能力与十大应用领域详解,附学习资源(建议收藏)
  • 学习Linux——软件管理
  • 广东品牌网站建设报价表网站建设中的财务预算
  • 什么网站的易用性重庆seo网站推广费用
  • 速卖通测评自养号技术:搭建安全稳定账号体系,流量销量双突破