Docker 部署Jenkins
1.安装jenkins
1.拉取 Jenkins 镜像。
docker pull jenkinsci/blueocean
# 上面拉取的是最新的镜像,当时最新镜像对应的tag应该是1.25.3,所以你也可以按如下拉取
# docker pull jenkinsci/blueocean:1.25.3
2.创建 Jenkins 工作目录
mkdir -p /usr/local/jenkins
chmod 777 /usr/local/jenkins
3.启动容器,同时映射宿主机和容器内端口。
# -d 后台方式启动
# -p 映射端口,宿主机端口:容器内端口
# -v 挂载卷,将容器Jenkins工作目录/var/jenkins_home挂载到宿主机目录/usr/local/jenkins
# -name 给容器起个别名
docker run -d -p 8099:8080 -p 50099:50000 -v /usr/local/jenkins:/var/jenkins_home --name myjenkins jenkinsci/blueocean
4.查看容器状态
[root@chenpihost local]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
538de1b1b1f5 jenkinsci/blueocean "/sbin/tini -- /usr/…" 18 seconds ago Up 17 seconds 0.0.0.0:8099->8080/tcp, :::8099->8080/tcp, 0.0.0.0:50099->50000/tcp, :::50099->50000/tcp myjenkins
5.查看 Jenkins 容器日志
docker logs myjenkins
6.将 Jenkins 端口添加到防火墙。
firewall-cmd --zone=public --add-port=8099/tcp --permanent
systemctl restart firewalld
firewall-cmd --zone=public --list-ports
7.配置镜像加速
打开宿主机 Jenkins 工作目录下的hudson.model.UpdateCenter.xml
文件。
vim /usr/local/jenkins/hudson.model.UpdateCenter.xml
原始内容如下:
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
url 修改为国内的清华大学官方镜像地址,最终内容如下:
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
</site>
</sites>
重启 Jenkins 服务。
docker stop 容器ID
docker start 容器ID
当然,也可以在登录 Jenkins 后在插件的高级设置里进行配置镜像加速
2.初始化配置
1.在浏览器访问http://jenkins所在主机ip:8099
,出现初始化界面需要等待些时间。
2.等待后出现密码界面,根据页面提示,输入密码。
注意:可以查看宿主机/usr/local/jenkins/secrets/initialAdminPassword
文件获取密码。
cat /usr/local/jenkins/secrets/initialAdminPassword
或者进入容器,查看/var/jenkins_home/secrets/initialAdminPassword
文件获取密码。
# 进入容器
docker exec -it 容器ID /bin/bash
# 查看密码
cat /var/jenkins_home/secrets/initialAdminPassword
3.输入密码后,出现如下界面,推荐选择第一种,选择后等待插件安装。
4.选择安装推荐的插件,等待插件安装完成
5.创建一个 root 用户,并进行登录。
6.配置 JDK
使用容器方式安装的 Jenkins,容器内已经默认安装好 JDK 了,如下所示:
bash-5.1$ java -version
openjdk version "11.0.14.1" 2022-02-08
OpenJDK Runtime Environment Temurin-11.0.14.1+1 (build 11.0.14.1+1)
OpenJDK 64-Bit Server VM Temurin-11.0.14.1+1 (build 11.0.14.1+1, mixed mode)
bash-5.1$ echo $JAVA_HOME
/opt/java/openjdk
bash-5.1$
将 JDK 安装的路径配置到 Jenkins 全局配置中