参考
https://blog.csdn.net/xiegh2014/article/details/78803342
以下是命令操作
yum -y install java-1.8.0 java-devel-1.8.0
yum -y install git
cd /etc/yum.repos.d/
wget http://pkg.jenkins.io/redhat/jenkins.repo
rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins
3、启动
systemctl start jenkins
如果启动失败,修改端口号
vim /etc/sysconfig/jenkins
8080改为其他端口号,如8180
systemctl restart jenkins
4、在浏览器打开输入http://IP:8080/访问jenkins
http://10.0.3.239:8180/
5.跳过插件和jenkins url实例配置,直接注册用户如下:
6. 插件安装
将https修改为http,并提交
systemctl restart jenkins
7. 安装gitlab插件
9. URL实例配置,点击系统管理---系统设置,如下:
至此master安装完毕。下面安装slave
slave的搭建过程其实很简单,具体对slave的要求如下:
也就是说,slave除了不用安装jenkins外,其他master有的slave都应该安装。
yum -y install java-1.8.0 java-devel-1.8.0
yum -y install git
必须确保jenkins master可以连接到slave,通过下面两种方式的其中一种:
由于jdk安装十分简单,我们跳过jdk的安装步骤。先说第二种方式,由于jenkins是运行于jenkins用户账号下面的,同样地,我们登录到slave主机,创建jenkins用户。
1 2 3 |
[root@centos7-host1 ~]# useradd jenkins --home-dir /home/jenkins --shell /bin/bash [root@centos7-host1 ~]# passwd jenkins # 设置密码
|
下面的步骤需要在master主机操作。
注意:master下的jenkins用户是不能登录的,因此首先要让它可登录
1 2 |
[root@centos7-server ~]# vim /etc/passwd
|
找到jenkins用户所在行,把/bin/false
改为一个可登录的shell,例如/bin/bash
。
1 2 3 4 |
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false # 改为 jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
|
接着切换到jenkins用户,创建ssh key
1 2 3 4 5 |
[root@centos7-server ~]# su jenkins bash-4.2$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): # 一路回车
|
因为jenkins用户的home目录是/var/lib/jenkins
,因此ssh key生成后会保存到/var/lib/jenkins/.ssh/目录下面。
接下来就是把刚生成的公钥复制到slave中,复制后公钥会保存到slave的/home/jenkins/.ssh/authorized_keys文件中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
bash-4.2$ ssh-copy-id [email protected] /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/jenkins/.ssh/id_rsa.pub" The authenticity of host '192.168.11.4 (192.168.11.4)' can't be established. ECDSA key fingerprint is SHA256:qA21wJrrn5M1ag0wE2H0+54+PZklO3TLJEZBKjon0Pw. ECDSA key fingerprint is MD5:ff:a2:c1:26:9b:2d:c8:d4:07:ab:a2:4f:33:e9:bf:bb. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
|
slave环境准备结束
安装ssh插件
重启jenkins
systemctl restart jenkins
菜单导航到系统管理 -> 管理节点 -> 新建节点 如图:
勾选固定节点,输入节点名称,然后OK。
输入相关信息,远程工作目录
一般是slave主机jenkins用户的home目录
点击上图中的Add按钮,添加ssh凭证,凭证类型有多种,这里选择SSH Username with private key
。
在之前的过程中我们使用ssh-keygen命令生成了两个文件,一个是id_rsa.pub公钥,另一个id_rsa就是密钥(private key),通过下面的命令可以查看
1 2 |
bash-4.2$ cat /var/lib/jenkins/.ssh/id_rsa
|
选中jenkins,然后save即可看到以下界面。
完成后点击添加回到上一个画面,Credentials中选择刚创建的凭证,保存。没有意外的话,slave主机就创建完毕
这个步骤是可选的,上面我们设置了jenkins用户的bash是/bin/bash
,目的是生成ssh key,基于安全考虑,完成之后jenkins用户的shell就可以重新设置为/bin/false
。
1 2 |
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false
|
先安装pipeline插件。
创建一个简单的Pipeline构建项目,编写下面的Pipeline
1.新建一个“流水线”的job
1 2 3 4 5 6 7 8 9 10 11 12 13 |
pipeline {
|
构建项目,观察控制台输出
hostname输出centos7-host1,证明slave正常运作
整个过程没有什么难点,主要就是下面几点
转载请注明:Pure nonsense » 如何在CentOS7中搭建jenkins slave