背景:
环境:jenkins环境(Ubuntu)
节点机器:Linux、Windows
前置条件:
节点机器:安装java、allure、python
1 Linux节点管理机器添加
1.1 系统管理->节点列表->New Node
1.2 节点配置
名称:可以任意起,我一般都用节点IP来
远程工作目录:一般为root,也可以是其他的目录
1.3 启动方式
启动方式:linux下启动方式选择Launch agents via SSH
Credentials:选择账号密码,可以点击下面的添加按钮添加节点机器的账号密码
1.4 节点属性
工具添加git:一般linux下的git都在/usr/bin/git
工具添加allue commandline:如果没有这个选项。点击全局工具管理,点击Allure Commandline 安装即可
1.5 配置allure commandline
这个路径就是你linux节点下的allure的安装目录,这里需要填写实际路径,而不是软链接(这里有个坑,后面我再说明)
1.6 环境变量
我一般这样配置
/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/opt/satools:/root/bin:/bin
1.7 配置job绑定节点机器
选择job-点击配置-选择项限制项目运行节点-选择我们刚刚添加的节点机器
1.8 配置构建后的操作
添加allure-report,这里如果没有,需要去插件管理里安装allure的插件(在插件管理搜索Allure Jenkins Plugin)如下图
注意:这里的allure_report是你脚本pytest运行的时候生成的路径,我脚本中配置的是allure_report,所以这里我填的allure_report
1.9 尝试构建:
点击立即构建
如果构建日志这样则代表成功
并且节点机器本地会生成一个代码路径
我的是 :/root/workspace/job_test/
2 遇到问题
如上的步骤都配置好之后,点击立即构建报如下错误
原因是1.5步骤我之前配置的allure的路径是:/usr/bin/allure, 这个实际是软链接,我们需要填的是allure真实安装的路径,可通过 readlink -f /usr/bin/allure获取真实的路径来填写,再次构建即可成功啦。
3 windows节点配置
3.1 添加节点,还是和linux一样
3.2 节点配置
名称:windows的IP
配置远程工作目录,这是Jenkins在从节点上创建工作空间的位置。
3.3 启动方式:
选择一种适合你的Windows环境的启动方式。常用的有以下几种:
Launch agent via Java Web Start:使用JNLP方式连接slave。
Launch agent by connecting it to the master:适用于Windows服务的方式。
Launch agent via execution of command on the master:通过主节点上执行的命令来启动代理。
使用SSH方式启动:Windows通常不用这种方式。
根据你选择的启动方式,按照提示配置需要的信息。我这里使用JNLP方式,则需要下载agent.jar并在Windows机器上运行Java Web Start命令:
java -jar agent.jar -jnlpUrl http://JENKINS_URL/computer/SLAVE_NAME/slave-agent.jnlp -secret YOUR_SECRET_KEY
这一步jenkins上会有配置的步骤提示你操作,打开windows powershell配置即可,如下提示即代表链接成功
3.4 工具列表
这里欸之allure的安装位置,需要填写的是bin目录的上一层级目录
3.5 启动节点:
根据你的配置方式启动从节点,一旦从节点启动并连接到主节点,你应该可以在Jenkins的“管理节点和云”页面上看到它的状态为“在线”。
4 遇到问题:
如果遇到如下提示404 Not Found
这里一定要在全局安全配置里打开代理并指定端口50000
在 Jenkins 的全局安全配置中指定 “TCP port for inbound agents” 为 50000(或任何其他指定端口)是为了允许 Jenkins 从节点(也称作代理节点或 slave 节点)使用 JNLP(Java Network Launch Protocol)来与主节点进行通信。该设置定义了用于监听从节点连接的端口。
JNLP 从节点需要通过这个端口与 Jenkins 主节点建立连接。如果没有为 “TCP port for inbound agents” 设置一个合适的端口号,远程代理无法知道应该连接到主节点的哪个端口,这可能导致连接问题。
4.1 测试构建
还是和linux一样,将job绑定节点,点击构建,如下提示即可
然后windows本地查看会生成workspace路径包含代码文件
总结:
以上就是本人在配置从节点的过程中遇到的一些问题,希望对大家有帮助。