Jenkins服务器中的slave节点是什么?
Jenkins 的slave节点是一台可以在其上执行作业的计算机。从属作业的文件系统、环境变量、操作系统和内存都基于slave节点。您无需在slave节点上安装 Jenkins,它就可以正常工作。
我们为什么要使用slave节点?
- master节点的资源有限,而slave节点可以扩展。
- master节点的硬件资源有限,通常只能连接到一个硬件环境。而slave节点可以将每台计算机连接到一套硬件系统。
- master节点和slave节点可以位于不同位置。
如何添加一个windows slave节点?
主要有两种方式,一种是使用SSH,另一种是使用WebSocket。
方法1:使用SSH
1.打开Jenkins,依次进入"Manage Jenkins" -> "Manage Nodes and Clouds";
2.点击"New Node";
3.输入我们期望的slave节点名,然后勾选“Permanenet Agent”,点击"OK";
4.设置"Remote root directory"(这个为slave节点的工作路径);
5.设置"Labels"(这个labels就是后续在Jenkinsfile,或者job的配置中设置的job运行的节点);
6.设置"Only build jobs with label expressions matching this node";
7.在"Launch method"中选择"Launch agents via SSH";
8.输入slave节点的IP地址;
9.为slave节点的登陆选择一个Credentials(如果没有Credentials的话,需要先新建一个);
10.在"Host Key Verification Strategy"中选择"Manually trusted key Verification Strategy";
11.点击"Advanced";
12.设置slave节点的Java路径;
13.设置"Prefix Start Agent Command";
14.设置"Remoting Work directory";
15.在"Availablily"中选择"Keep this agent online as much as possible";
16.点击"Save";
17.在slave节点中,用管理员的身份打开Power Shell;
18.运行指令"Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'"来检查我们是否打开SSH Client和Server;
19.安装OpenSSH Client:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
安装OpenSSH Server:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
20.重启slave节点;
21.用管理员的身份打开"Command Prompt";
22.运行"sc start sshd"来启动SSH server;
23.运行"sc config sshd start= auto"设置SSH Server自动启动;
24.在Jenkins中,点击"Lauch agent";
25.结束。
方法2:使用WebSocket
1.打开Jenkins,依次进入"Manage Jenkins" -> "Manage Nodes and Clouds";
2.点击"New Node";
3.输入我们期望的slave节点名,然后勾选“Permanenet Agent”,点击"OK";
4.设置"Remote root directory"(这个为slave节点的工作路径);
5.设置"Labels"(这个labels就是后续在Jenkinsfile,或者job的配置中设置的job运行的节点);
6.设置"Only build jobs with label expressions matching this node";
7.在"Launch method"中选择"Use WebSocket";
8.点击"Save";
9.打开slave节点的Jenkins,点击"Launch";
10.在保存完"jenkins-agent.jnlp"后,双击它让其保持运行。最好将其拷贝到路径"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"使其自动启动;
11.完成。