Centos7 jenkins安装master和slave

参考

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,并提交

 

 

 

重启Jenkins

systemctl  restart  jenkins

7. 安装gitlab插件

 

 

 

9. URL实例配置,点击系统管理---系统设置,如下:

 

至此master安装完毕。下面安装slave

slave的搭建过程其实很简单,具体对slave的要求如下:

  • slave不需要安装jenkins
  • slave必须安装java运行环境
  • 必须安装项目对应的编译环境

也就是说,slave除了不用安装jenkins外,其他master有的slave都应该安装。

yum -y install java-1.8.0 java-devel-1.8.0
yum -y install git

slave环境准备

必须确保jenkins master可以连接到slave,通过下面两种方式的其中一种:

  1. 用户名和密码
  2. ssh密钥认证

创建用户

由于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 # 设置密码

 

 

创建ssh key

下面的步骤需要在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/目录下面。

复制ssh key到slave主机

接下来就是把刚生成的公钥复制到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 jenkins@192.168.11.4

/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

jenkins@192.168.11.4's password:

 

Number of key(s) added: 1

 

Now try logging into the machine, with:   "ssh 'jenkins@192.168.11.4'"

and check to make sure that only the key(s) you wanted were added.

 

 

slave环境准备结束

安装ssh插件

重启jenkins

systemctl restart  jenkins

在Jenkins master的web UI中添加slave

菜单导航到系统管理 -> 管理节点 -> 新建节点 如图:

勾选固定节点,输入节点名称,然后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主机就创建完毕

让master的jenkins不可登录

这个步骤是可选的,上面我们设置了jenkins用户的bash是/bin/bash,目的是生成ssh key,基于安全考虑,完成之后jenkins用户的shell就可以重新设置为/bin/false

 

1

2

jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false

 

 

测试slave

先安装pipeline插件。

创建一个简单的Pipeline构建项目,编写下面的Pipeline

1.新建一个“流水线”的job

 

1

2

3

4

5

6

7

8

9

10

11

12

13

 

pipeline {
    agent {
        label 'jenkins-slave'
    }
    stages {
        stage('Test') {
            steps {
                sh 'hostname'
            }
        }
    }
}

 

 

构建项目,观察控制台输出

hostname输出centos7-host1,证明slave正常运作

总结

整个过程没有什么难点,主要就是下面几点

  1. master的jenkins用户改为可登录,便于创建ssh key
  2. slave中创建jenkins用户,且该用户必须是可登录的
  3. 复制master的公钥到slave
  4. 在master的jenkins webui中添加节点

转载请注明:Pure nonsense » 如何在CentOS7中搭建jenkins slave

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值