master节点

master节点采用war方式安装。

#1. 安装jdk

rpm -ivh jdk-8u211-linux-x64.rpm

#2. 启动jenkins

根据情况添加启动参数,本文为做说明,采用最简单启动方式。

nohup java -jar ./jenkins.war &

#3. 配置向导

访问:http://192.168.238.145:8080/

在这里插入图片描述

根据界面提示,查找初始化密码,解锁jenkins。

  1. 安装插件-选择推荐的插件

在这里插入图片描述

  1. 创建管理员用户

在这里插入图片描述

#4. 安装插件

  1. docker相关

在这里插入图片描述

  1. kubernetes相关

在这里插入图片描述

  1. 重启jenkins

插件安装完成后,重启Jenkins, http://192.168.238.145:8080/restart

在这里插入图片描述

slave节点

slave节点采用docker方式安装,使用官方镜像jenkins/ssh-slave

#1. 创建用户和组

$ groupadd  -g 1000 jenkins
$ useradd jenkins  -u 1000 -g jenkins -m
$ id jenkins
uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins)
$ passwd jenkins
$ usermod -aG docker jenkins
$ chmod 777 /var/run/docker.sock

#2. 生成密钥

在节点上生成ssh

$ ssh-keygen

#3. 启动ssh-slave容器并添加公钥信息

$ su jenkins
$ docker run \
--name jenkins-slave01 \
-d \
-v /home/jenkins:/home/jenkins \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 22222:22 \
-e "JENKINS_AGENT_SSH_PUBKEY=ssh-rsa AAAAB3sp+rN9JuxOgliOInpKNzaC1yc2EAAAADAQABAAABAQC+0jvtwow6AlyjCBWrmhhj7LV7r4dFR0EIPtZfNgx3k9C3puM93888KhfvjiVt8xuPFWfsFi2xKXg4+yncUm6dpxcLNSCGLkloI5U2OxaELToIcgLRHVrVINoNR288PPdwALw348FvMg4YapFHv+fp4mwc2oLiH9RTiWpSMUZWwiHAN3SJC/c8ddCcr9NkxjjyYfyMISapmz8C1YSqDrj9X4TZffotfuiQlabxHPHcGVonrJXp6R9vCLisN9wiRxknxWBD1pP0VKH5LiBi80t+08LlgqqsaoBLT+HWO72n8B4fBOvEz4GSxRQB24RLX62Wed root@slave01" \
jenkins/ssh-slave
$ docker ps | grep slave01
37b035d3fbb5   jenkins/ssh-slave                                   "setup-sshd"             19 seconds ago   Up 18 seconds   0.0.0.0:22222->22/tcp   jenkins-slave01

#4. 添加凭据

打开[系统管理]-[凭据管理]-[系统]-[全局凭据]-[新建凭据]

注意:此处使用私钥

在这里插入图片描述

#5. 添加节点

打开[系统管理]-[节点管理]-[新建节点]-[固定节点]

简单配置如下:

名称:slave01
描述:slave01
Number of executors:2
远程工作目录:/home/jenkins
标签:slave01
用法:尽可能的使用这个节点
启动方式:Launch agents via SSH
主机:192.168.238.146
Credentials:jenkins (slave01)
Host Key Verification Strategy:Non verifying Verification Strategy
端口:22222
Java 路径:/usr/local/openjdk-8/bin/java

在这里插入图片描述

参考文档:
[1]: https://hub.docker.com/r/jenkins/ssh-slave
[2]: https://www.jenkins.io/doc/book/installing/docker/
[3]: https://github.com/jenkinsci/docker-ssh-agent
[4]: https://github.com/jenkinsci/ssh-slaves-plugin/blob/master/doc/CONFIGURE.md

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐