先说:原本想通过SSH来进行两个主机之间的master-slave节点配置,在网上查了大量的教程实践,最终没有成功(过段时间,对Jenkins比较熟悉再来配置吧)。于是换了种方法,如下。
主机A 10.103.87.210 作为Jenkins服务器master主节点;
主机B 10.103.87.101 作为slave 从节点,无需安装Jenkins,只需要编译环境即可;
两台主机都是windows10
接下来的步骤会说明在哪台主机上操作。
目录
1 进入Manage JenkinsàManage Nodes and Clouds,新建节点 (主机A)
2 节点配置(主机A)
3 继续配置节点(在主机A上操作)
4 建立主从节点的连接
4.1 保存节点配置步骤之后,回到如下界面(在主机A上操作)
4.2 去主机B上配置
5 新建任务与任务配置(将任务指定到节点上)
5.1 新建任务
5.2 任务配置
6 构建build任务(主机A)
7 可能遇到的问题:
1 进入Manage JenkinsàManage Nodes and Clouds,新建节点 (主机A)
2 节点配置(主机A)
由于我之前10.103.87.101这台主机作为节点已经配置成功,所以重新取名为slave3-10.103.87.101以示区分。
(在主机B上操作)远程工作目录需要现在主机B从节点上某个目录下新建一个文件夹,如下:
3 继续配置节点(在主机A上操作)
4 建立主从节点的连接
4.1 保存节点配置步骤之后,回到如下界面(在主机A上操作)
可看到刚刚建立的slave3-10.103.87.101节点是断开连接的,点击该节点,进入如下界面:
上图中的命令,接下来会在主机B从节点上要用到;
点击 agent.jar , 浏览器会弹出下载框,将这个文件下载下来,并放到主机B的某个文件夹下,如:
4.2 去主机B上配置
在主机B上 win+R,输入cmd,进入终端
然后cd到agent.jar文件所在目录
输入命令,然后回车
curl -sO http://10.103.87.210:8080/jnlpJars/agent.jar
继续输入命令:
java -jar agent.jar -jnlpUrl http://10.103.87.210:8080/manage/computer/slave3%2D10 %2E103%2E87%2E101/jenkins-agent.jnlp -workDir "H:\Unittec\Code\C\JenkinsWorkSpace"
再回到主机A,可以看出,从节点slave3-10.103.87.101已经连接成功,在线状态
上述建立主从节点连接中的可能遇到的问题,请见文末!
5 新建任务与任务配置(将任务指定到节点上)
5.1 新建任务
5.2 任务配置
6 构建build任务(主机A)
点击下图三角形,开始构建,然后可看出,任务myVC3slave在从节点slave3-10.103.87.101下运行的。
回到主机B远程工作目录下,可看到该目录下多了remoting和workspace两个文件夹,
其中:
Workspace存放的是从svn上拉取下来的源码;
Remoting 参考这个:Jenkins Remotinghttps://www.jenkins.io/zh/projects/remoting/
7 可能遇到的问题:
(1) Error: A JNI error has occurred, please check your installation and try again
可能是JDK版本太低,装更高版本的JDK,下载地址如下:
Java Downloads | Oracle 中国https://www.oracle.com/cn/java/technologies/downloads/#jdk20-windows
(2)jenkins 命令行中启动节点连接失败的方法