一、docker
1.安装docker
联网安装命令如下
shell
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者也可以使用国内 daocloud 一键安装命令:
shell
curl -sSL https://get.daocloud.io/docker | sh
2.启动docker
shell
systemctl start docker
二、docker下安装jenkins
1.拉取镜像
带lts 的tag镜像是长期维护版本,不带lts tag则是安装最新版本
shell
docker pull jenkins/jenkins:lts
2.创建jenkins映射目录
shell
mkdir -p /data/jenkins_home
3.启动jenkins容器
shell
docker run -d --name jenkins -p 80:8080 -p 5000:5000 -u root -v /data/jenkins_home/:/var/jenkins_home jenkins/jenkins:lts
4.查看登录密码
cat /data/jenkins_home/secrets/initialAdminPassword
5.安装插件
选择 安装推荐插件即可
6.查看版本
在欢迎界面的右下角显示 版本为: 2.414.3
7.安装中文包
8.安装ssh插件
8.1 安装插件
Publish Over SSH 是jenkins的ssh远程工具.
8.2 配置私钥
安装完成后就可以在 "系统管理"--> 找到"Publish over SSH",如下图:
8.2 配置连接服务器
9.修改admin初始密码
三、节点配置
当比较复杂的构建场景中,或者构建达到一定的规模时,一个jenkins无法满足时,这时候就需要用到节点模式。
1.配置master
点击首页的 "系统管理" --> "节点和云管理"
这里默认是有一个master节点的。点击master 右侧的设置图标
2.配置从节点
2.0 准备工作
2.0.1 安装jdk
在从节点上 安装jdk-11版本。这里的jdk只是jekins在连接从节点时需要的java版本11.
当此节点运行job的时候 使用java 版本在根据jobs所需要的java版本而定
shell
[root@node5 ~]# rpm -qa |grep openjdk
java-11-openjdk-headless-11.0.20.0.8-1.el7_9.x86_64
java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64
java-11-openjdk-devel-11.0.20.0.8-1.el7_9.x86_64
在从节点上创建jenkins加目录以及jdk目录
shell
[root@node5 ~]# mkdir -p /data/jenkins_home/jdk/bin/
#将java-11 链接到从节点的jenkins_home下. 这个路径是jenkins在连接从节点时会在 从节点的工作目录下的jdk/bin下找java命令
[root@node5 ~]# ln -s /usr/bin/java /data/jenkins_home/jdk/bin/
2.0.2 配置密钥通信
配置主从密钥通信。
2.0.3 配置全局凭证
点击 系统管理 --> 凭据管理
点击全局凭证
点击右上角 Add Credentials(添加凭据)
复制私钥
2.1 设置名称
点击首页的 "系统管理" --> "节点和云管理" --> "New Node"
2.2 设置相关参数
注意:
远程工作目录:
1.设置此参数的时候要设置绝对路径
2.此路径下还会生产workspace目录,和主节点的jenkins_home/workspace目录一致
3.如果在设置主节点时,没有使用上边的master,而是将master作为一个新salve节点进行新增,要注意,这里的远程工作目录和安装目录(jenkins_home)一定要保持一致。
配置从节点IP以及凭证
2.3 查看从节点状态
如下图从节点已经在线
3.使用从节点进行验证
新建任务的时候使用 slave1进行构建
在从节点上查看是否有任务
shell
[root@node5 ~]# cd /data/jenkins_home/
[root@node5 jenkins_home]# ls
jdk remoting remoting.jar workspace
[root@node5 jenkins_home]# cd workspace/
[root@node5 workspace]# ls
从节点验证job