前言
持续集成(Continuous Integration,CI)是软件开发中的一种实践,它旨在通过频繁地集成代码变更并自动运行测试,以确保代码的质量和稳定性。Jenkins 是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目。在本文中,我们将使用 Docker 搭建一个基于 Jenkins 的持续集成平台。
环境准备
首先我们需要再Linux环境中安装好docker,具体步骤可以参照之前写过的教程如何在Ubuntu系统重安装docker。
安装好docker之后,我们需要对Java环境进行一下配置,在Jenkins 2.357 及 LTS 2.361.1之后的版本要求Java 11 或者 17,所以我们需要安装好Java11或者Java17的环境。
Docker搭建Jenkins
- 拉取镜像
Jenkins docker hub地址: https://hub.docker.com/r/jenkins/jenkins,拉取命令如下,将拉取Jenkins的最新版本镜像
docker pull jenkins/jenkins
运行命令,如下所示:
[root@server /]# docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
3192219afd04: Already exists
17c160265e75: Already exists
cc4fe40d0e61: Already exists
9d647f502a07: Already exists
d108b8c498aa: Already exists
1bfe918b8aa5: Already exists
dafa1a7c0751: Already exists
c69d355c63ac: Pull complete
b15898bb1800: Pull complete
a51ccfc981f7: Pull complete
49f46bd4bf74: Pull complete
efa670fd97de: Pull complete
1565294bcba3: Pull complete
4c51bcfbed1e: Pull complete
49f4fafbfbf2: Pull complete
28a75541fa5f: Pull complete
c3c03c2d5564: Pull complete
ace64d1af7cf: Pull complete
f1960af3b8ab: Pull complete
6fd1a5a6d017: Pull complete
Digest: sha256:e4630b9084110ad05b4b51f5131d62161881216d60433d1f2074d522c3dcd6dc
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest
- 创建docker的文件映射卷
创建docker的文件影射卷,用于存储数据,命令如下:
docker volume create jenkins_test
docker volume inspect jenkins_test
[
{
"CreatedAt": "2024-03-20T15:22:54+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/jenkins_test/_data",
"Name": "jenkins_test",
"Options": {},
"Scope": "local"
}
]
- 运行: 创建容器并运行
# 重新创建实例并设置时区
docker run --name=jenkins -d -p 8080:8080 -p 50000:50000 -v jenkins_test:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins
运行命令,结果如下:
docker run --name=jenkins -d -p 8080:8080 -p 50000:50000 -v jenkins_test:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins
1bcb5b04c8dda893cae47b25240140b0ab6976e728e022e38c4f9761ab37f170
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1bcb5b04c8dd jenkins/jenkins "/usr/bin/tini -- /u…" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp jenkins
成功启动之后,我们可以通过浏览器来访问Jenkins,输入服务器IP地址+端口号即可,如下图:
我们可以在日志中找到Jenkins的初始密码,如下:
docker logs -f jenkins
我们也可以通过下面的命令来查看Jenkins的初始密码:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- 登录配置Jenkins
我们输入初始密码之后,登录可以开始配置我们的Jenkins了,首先我们可以安装一些必要的插件,如下图:
- 创建管理员用户
安装完插件之后,我们需要创建Jenkins的管理员用户,如下图:
- 配置Jenkins URL
配置成功之后,我们即可进入欢迎页面,如下图:
总结
本文主要介绍了使用docker搭建持续集成平台Jenkins的步骤,Jenkins是最常用的持续集成平台,对于我们测试开发的工作有很大的帮助,希望本文能够帮到大家!