配置Jenkins slave agent(通过jnlp)方式连接

news/2024/6/17 2:52:10 标签: jenkins, 运维

上一章,使用ssh的方式添加了两个agent,并都成功完成了构建任务,这一章使用jnlp的方式配置agent,jnlp方式配置agent有个好处,就是agent是主动去找到Master请求连接的,master->agent的通道可以配置一个agent的可访问ip:端口,也可以通过Websocket。这样即使agent是藏在不能直接访问的内网里的,也可以直接将它配置进来。

前置步骤

准备一台虚拟机

192.168.233.35

和上一章一样配置好Git、Java、Maven和对应的jenkins用户

1、添加Node配置

同样记得在Tool Locations中配置好Java Home和Maven Home

 2、点开加好的节点的Status tab按照上面的操作指引启动agent

2.1、登录192.168.233.35,切换jenkins用户

su jenkins #切换到jenkins用户
cd ~ #进入home目录

2.2、下载启动agent的相关jar包

curl -sO http://192.168.233.28:8080/jnlpJars/agent.jar

2.4、启动agent,我们这里用nohub在后台启动

nohup java -jar agent.jar -jnlpUrl http://192.168.233.28:8080/computer/192%2E168%2E233%2E35/jenkins-agent.jnlp -secret xxx -workDir "/data/jenkins" > nohup.log &

2.5、刷新agent的状态,可以看到agent已经处于在线状态了

碰到的问题:

 执行job 的时候报错

java.lang.UnsatisfiedLinkError: /data/services/jdk-17.0.7/lib/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory

是因为agent的环境缺少依赖,我们在agent机器上把相关依赖安装上就好了

sudo apt update
sudo apt install libxrender-dev
sudo apt install libxtst-dev # 这个看情况是否有报错,添加

安装完最好重启下启动agent的java进程


http://www.niftyadmin.cn/n/1005406.html

相关文章

mybatisPlus in查询怎么写

在 MyBatis Plus 中使用 in 查询&#xff0c;可以通过 LambdaQueryWrapper 或者 QueryWrapper 的 in 方法来实现。下面是两种常见的写法&#xff1a; 使用 LambdaQueryWrapper&#xff1a; java List<Integer> ids Arrays.asList(1, 2, 3); // 要查询的 id 列表Lambda…

Kafka_2.13-3.4.0环境的配置

1. 准备kafka安装包。 省略... 2.下载jdk,然后解压 省略... 3.设置Java环境变量 [rootlocalhost java]# vi /etc/profile 在profile中添加如下内容: #set java environment JAVA_HOME/usr/java/jdk1.8.0 JRE_HOME/usr/java/jdk1.8.0/jre CLASS_PATH.:$JAVA_HOME/lib/dt.j…

FPGA USB FX2 数据回环试验 驱动CY7C68013A实现 提供工程源码和技术支持

目录 1、前言2、我这儿已有的 FPGA USB 通信方案3、CY7C68013A芯片解读和硬件设计FX2 简介SlaveFIFO模式及其配置 4、工程详细设计方案5、vivado工程6、上板调试验证7、福利&#xff1a;工程代码的获取 1、前言 目前USB2.0的实现方案很多&#xff0c;但就简单好用的角度而言&a…

了解JNDI:Java中的命名和目录服务接口

文章目录 什么是JNDI&#xff1f;JNDI基本API应用项目应用-远程调用 什么是JNDI&#xff1f; JNDI是Java平台提供的一种命名和目录服务接口。它允许开发人员以统一的方式访问各种命名和目录服务&#xff0c;如LDAP&#xff08;轻量级目录访问协议&#xff09;或DNS&#xff08…

flutter Exception: Gradle task assembleDebug failed with exit code 1

Exception: Gradle task assembleDebug failed with exit code 1 解决方案&#xff1a; 出现这个问题&#xff0c;可能是依赖的插件无法下载 找到项目的android->build.gradle, 将 google() mavenCentral()改成 maven{url https://maven.aliyun.com/repository/google }m…

MyBatis-Plus 实现PostgreSQL数据库jsonb类型的保存

文章目录 在 handle 包下新建Jsonb处理类方式一方式二 PostgreSQL jsonb类型示例新建数据库表含有jsonb类型创建实体类创建Control 发起请求 在 handle 包下新建Jsonb处理类 方式一 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFea…

CPU 体系结构相关的问题

连接器和加载器&#xff0c;以及编译器和汇编器&#xff0c;都需要考虑很多与体系结构配合的细节&#xff0c;包括硬件的体系结构细节&#xff0c;也包括目标代码运行环境的操作系统在体系结构方面的约定&#xff0c;本章中我们呢涉及很多计算机体系结构的知识。 硬件习题结构有…

浅谈基于分项计量的校园能源监管平台解决方案设计

张心志 关注acrelzxz 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;伴随着我国经济的飞速发展&#xff0c;国家机关办公建筑和大型公共建筑高耗能的问题日益突出&#xff0c;如何解决建筑能耗己成为一个国家总能耗的重要组成部分。学校是肩负着教育、科研和社会服…