Linux Is Not Matrix——jenkins配置主从节点

Jenkins配置完成之后还需要进行主从节点的配置,这个主从节点是什么一开始我也不知道,但是听起来就好像一个分布式的东西,后来查了查是这个样子的。
Master/Slave相当于Server和agent的概念。Master提供web接口让用户来管理job和slave,job可以运行在master本机或者被分配到slave上运行。一个master可以关联多个slave用来为不同的job或相同的job的不同配置来服务。
说白了就是主机提供用户界面,从机执行构建工作。
那么配置主从关系的重点就是如何让主机和从机建立连接关系了,我们的linux环境是最小安装模式,也就是没有图形界面的那种,所以我们通过SSH来进行链接。
Jenkins内置有ssh客户端实现,可以用来与远程的sshd通信,从而启动slave agent。这是对*unix系统的slave最方便的方法,因为*unix系统一般默认安装有sshd。在创建ssh连接的slave的时候,你需要提供slave的host名字,用户名和ssh证书。创建public/privatekeys,然后将public key拷贝到slave的~/.ssh/authorized_keys中,将private key保存到master上某文件夹中。jenkins将会自动地完成其他的配置工作,例如copy slave agent的binary,启动和停止slave。但是你的job运行所依赖其他的项目需要你自己设置。
背景扯完了,开始干活。

首先要在从机上创建一个用户,这个用户是用来让Jenkins主机来链接用的,可以想象我们远程登陆用的用户名。
执行

/usr/sbin/useradd -m jenkins-ceshi -d /home/jenkins-ceshi


Jenkins-ceshi就是我们创建的用户,如果需要配置多台从机,最好将用户名通过一种编码管理起来。
现在我们将当前用户切换为刚刚创建的jenkins-ceshi。执行

su - jenkins-ceshi


(注意,这里是su空格-空格jenkins-ceshi,不知道能不能看清楚。)

成功之后能看到这样的结果。
Linux Is Not Matrix——jenkins配置主从节点
文章图片


之后,执行ssh-keygen来创建公钥私钥对。
Linux Is Not Matrix——jenkins配置主从节点
文章图片


其中在三个enter行要连按三次回车,分别表示。。。英语就不解释了,自己翻译- -。
这样我们的私钥就创建好了。然后我们创建authorized_keys。这个东西用来存放公钥,并且控制访问权限。同样需要生成这个东西。
执行

cd .ssh cat id_rsa.pub > authorized_keys chmod 755 authorized_keys


然后我们就能看到这个文件了。
Linux Is Not Matrix——jenkins配置主从节点
文章图片



拷出来我们的id_rsa文件(可以用WinSCP或Xftp等远程工具操作),之后的工作可以在主机上进行了。
进入主机,先把从机生成的id_rsa文件存放到一个文件夹中。例如:/var/lib/jenkins/key/ceshi,然后使用chown命令设置这个文件夹的所有者为jenkins。
进入Jenkins页面,进入证书管理。
Linux Is Not Matrix——jenkins配置主从节点
文章图片


点击全局证书
Linux Is Not Matrix——jenkins配置主从节点
文章图片

这里可以看到已经添加好的证书,我们点击添加证书。
Linux Is Not Matrix——jenkins配置主从节点
文章图片

然后就进入了这个页面
Linux Is Not Matrix——jenkins配置主从节点
文章图片



这里简单说一下,kind要选SSH的,Username和我们的刚刚创建linux一样,这样也便于管理。Private key这里写上我们刚刚存放id_rsa的路径,点击ok就行了。
前面的铺垫工作完成了(呵呵- -),接下来进行主从节点的配置。
在jenkins主页中点击系统管理,点击节点管理。
Linux Is Not Matrix——jenkins配置主从节点
文章图片


Linux Is Not Matrix——jenkins配置主从节点
文章图片

点击新建节点,然后进入这个页面。
Linux Is Not Matrix——jenkins配置主从节点
文章图片

节点名称,最好能标志出这个节点的功能,或是模块的构建任务之类的。
Linux Is Not Matrix——jenkins配置主从节点
文章图片




这里我就不添加了,找了一个已经存在的配置。重要的地方都注释了。

好了接下来点击launch slave agent就可以了。
Linux Is Not Matrix——jenkins配置主从节点
文章图片


写的够长了吧,还有一些可能会出现的错误,配合下一篇博客食用,风味更佳。
【Linux Is Not Matrix——jenkins配置主从节点】业界良心,只此一回了。

    推荐阅读