Jenkins部署从节点
由于jenkins上承载项目太多,需要专门的节点来执行需要构建的操作。
参考:https://www.cnblogs.com/lxs1314/p/7551309.html job仅使用绑定的slave构建
https://www.cnblogs.com/jsonhc/p/7372359.html job添加slave节点,随缘构建
环境介绍
jenkins master 10.2.8.69
jenkins slave1 10.2.8.103
从节点环境配置
安装jdk,创建
rpm -ihv jdk-8u211-linux-x64.rpm
useradd jenkins
passwd jenkins
主页面配置
系统管理 --> 节点管理 --> newnode
以下的凭据需要先在全局凭据中加上,此处我们使用 ssh的连接方式
连接
我在此处报错:Unsupported major.minor version 52.0
是因为我之前在slave1上安装了 jdk1.7,与jenkins的或其他项目的jdk不一致。将slave1的jdk升级到1.8就解决了。
新建项目helloword2
job仅在slave1构建
绑定slave1节点,若slave1配置时打了标签(不是key:value的形式,一个词就可以 eg: maven),此处也可以填写salve的标签,那么此job仅在slave1上构建
此处我们使用gitlab的helloworld打码,在jenkins上进行构建操作 mvn install
进行构建触发
job随机在master/slave构建
仅此处不同
执行两次构建操作,master/slave各一次
jnlp的连接方式
slave使用Launch slave agents via Java Web Start的连接方式
系统管理--> 全局安全配置 -->选中下图框内的选项 --> 保存
通过以上操作新建slave节点的Launch method选项中就会出现 “通过Java Web启动代理”
注:新版Jenkins的launch method是“Launch agent by connecting it to the master”,旧版是“Launch agent via Java Web start”
从节点配置
新节点的配置如下:
下载agent.jar放在slave节点的某个目录下
这里有两种连接方式,我们的slave是linux系统,使用命令行的连接方式,在slave中运行以下命令
此处-jnlpUrl后是jenkins master的url,请检查你的url是否能连通
nohup java -jar /var/lib/jenkins/agent.jar -jnlpUrl http://urjenkinsmasterip:8080/jenkins/computer/test-jnlp/slave-agent.jnlp -secret 78b36718a74837bf4b1711588098332c464ea5ef89052b01c787ec41ec63bede -workDir /var/lib/jenkins/ 1>/dev/null 2>&1 &
再查看节点列表,改slave为连接状态
此处