Jenkins集群搭建

目录

Jenkins的目的是加快CI/CD的步伐,集群的搭建也不是必须的,当一台服务器的构建速度受到限制下,可以考虑使用主从并发构建,来加快构建速度。作为一款超级管家的角色,Jenkins的资料非常多,Jenkins资料地址

 

配置Jenkins-Slave节点环境

要充当Jenkins从节点角色的主机需要满足两个条件:

  1. 需要安装Java运行环境

  2. Master主机可免密登录

先完成第二个条件的设计,在Master主机免密登录到Slave主机中,在这篇文章中提到了ssh的配置 https://www.cnblogs.com/CKExp/p/9552272.html 便不再详细陈述。

生成SSH密钥,一路回车即可。

ssh-keygen

发送密钥到Slave主机,需要填写Slave主机登录密码。

ssh-copy-id root@118.126.xx.29

连接Slave主机,无需输入密码。

ssh root@118.126.xx.29

现在直接登录到了Slave主机上,开始安装Java运行环境,我的服务器系统为CentOS7.2版本。 看一下Java的列表并检索Java1.8的列表(本地将安装JDK1.8)

yum list java*
yum list java-1.8*   

200544453_4d5598e7-3f52-42e5-ba7f-b971ad9d3e92 开始安装。

yum install java-1.8.0-openjdk* -y

200545988_cb0435e4-7d38-41f3-97d1-35c0b052c8e6 安装完毕查看Java版本

java -version

200547445_10d0c1fc-bd1d-41e6-9415-198c9dd25f20  

Jenkins中配置Slave从节点

选择左侧菜单中的系统管理,然后选择管理节点,开始新建节点。(系统管理->管理节点->新建节点) 200548612_7367168b-f03c-4648-8af2-bd811abef855

根据以下配置要求进行相关信息填写:

200549826_8b16b6b2-7dd1-4c24-8eea-410e76a6ab1c

开始信息的填写工作 :

200551315_d05fc5b6-97e3-4ed6-9f9a-99d7c4fde7ef 凭证配置:

200552530_aa762f7c-d582-455b-bdf0-c1569d89bd8d 完成后点击保存,开始进行手动验证从节点身份,有时会出现一些错误(不可避免,没有谁真的一次性就成功的)。

看到这个界面后,等待一会,耗时比较长,  200554351_bda4f56a-fa2c-441c-a2e2-2e7015928149

 

将任务转移到Slave从节点上构建

新建一个Jenkins任务,填入相应的信息,Git地址、执行脚本、执行相关配置,选择从节点。 200555744_bb0ab0b4-32fb-436b-93fc-63a6852459a8

 

遇到的错误:

  1. 提示私钥密码验证失败。
[05/15/14 09:37:32] [SSH] Opening SSH connection to xxx.xxx.xxx.xxx:xxx.  
ERROR: Server rejected the 1 private key(s) for jenkins (credentialId:7265ff8a-1515-4745-a174-e6f550630818/method:publickey)  
[05/15/14 09:37:32] [SSH] Authentication failed.  
hudson.AbortException: Authentication failed.  
    at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:1143)  
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:648)  
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:642)  
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)  
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)  
    at java.lang.Thread.run(Thread.java:701)  
[05/15/14 09:37:32] [SSH] Connection closed.  
[05/15/14 09:37:32] Launch failed - cleaning up connection  

是由于在Master这边没有对私钥文件进行授权 使用命令chmod 600 /root/.ssh/id_rsa

  1. 提示没有Java的JDK,需要在Slave节点安装JDK。

200557003_95cfaff5-47ac-4698-b7f3-5b810cd179c9 至此Jenkin简单集群搭建完毕,一个Master和一个Slave节点。集群的搭建不是必须的,只是为了加快构建速度,在Master的构建能力不足以支撑现有步伐时的一种措施。 

2018-09-15,望技术有成后能回来看见自己的脚步