背景:
最近在公司搭建Jenkins的CICD,Linux的代理节点,公司前辈已经搭建好了。这次由于需要一个Windows环境作为代理节点,执行UI自动化测试。
于是,就参考了教程搭建完了,花了一个小时吧,最近无聊,就在此简单写一下心得和感受,总体上很简单,遇到了一个坑,但是这个坑我会告诉大家怎么解决(一般遇不到,除非配置设置了),以及如何搭建Jenkins的Linux节点及Windows节点。
我在个人服务上重新走了一遍 教程只给思路 参考 不会傻瓜式填鸭!
内容:
1.准备工作
首先准备一台Linux服务器(Ubutun Centos Debian都行)作为执行器,你得考虑Linux执行节点需要什么环境和工具
(比如环境中需要git拉代码 比如前端node.js去打包前端代码 docker做环境隔离,做容器化部署 因为后面需要在Jenkins的代理节点去完成一系列工作 当然作为执行器的它,想当然得需要这些环境和工具)
Windows节点同理,需要什么工具环境 在节点中配好
记得在代理节点按照java程序运行的环境 即jdk 推荐不低于17 最新的Jenkins不支持17以下
2.Jenkins服务页面配置代理节点信息
1.参考如下 主要是使用jar包做程序运行,实现通信
工作目录换成实际自己的,确保目录存在可操作
标签很重要 后面pipeline中指定在哪个节点中执行,是需要填入这个标签
windows:
linux:
3.代理节点与Jenkins服务节点通信
需要在代理节点中安装Java环境-jdk
curl.exe -sO http://192.168.1.95:8899/jnlpJars/agent.jar
下载jar(在工作目录操作)
运行程序(在工作目录操作)
java -jar agent.jar -url http://192.168.1.95:8899/ -secret e3a8e47dfa66c6450aa4a45aeb9726fc41e231441277ca206593078b8caaf423 -name win11 -webSocket -workDir "C:\jenkins_workspace"
在代理节点中执行如图所示的命令 注意Jenkins的ip(我本地写的教程所以是127.0.0.1)实际上是
4.这相当于运行jar程序,实现Jenkins代理节点与控制节点通信
结果:
坑:
当时在公司出现端口被拒绝 执行jar程序报错 报错有一个端口被拒绝
原因是公司Jenkins服务中配置了一个TCP端口 使用TCP端口通信 而Jenkins的服务节点没有开放此端口
但是这个报错是可以避免的 因为我在个人Jenkins服务中不开这个TCP端口 并不造成我Jenkins代理节点的配置