Docker 安装 Jenkins(图文教程)
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/
截止目前, 星球 内专栏累计输出 66w+ 字,讲解图 2896+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2300+ 小伙伴加入学习 ,欢迎点击围观
本小节中,小哈将演示如何通过 Docker
来快速安装 Jenkins
。
1. 什么是 Jenkins ?
Jenkins 是一个开源的持续集成(Continuous Integration)工具,它的主要作用是帮助开发团队自动化构建、测试和部署软件项目。通俗来说,Jenkins 可以在每次代码变更时,帮助我们自动进行一系列的操作,例如编译代码、运行测试、生成文档,甚至是将应用程序部署到服务器上。
2. 为什么要使用 Jenkins 呢?
-
自动化构建和测试: Jenkins 可以监视版本控制系统(如 Git)中的代码变更,一旦有新的提交,就触发自动构建和测试流程。这有助于发现潜在的问题,确保代码的质量。
-
持续集成: Jenkins 支持持续集成,即频繁地将小的代码变更合并到主干,并通过自动构建和测试来验证这些变更。这有助于减少集成问题,提高团队的协作效率。
-
自动化部署: Jenkins 可以自动化部署应用程序到测试环境、预生产环境甚至生产环境。通过定义部署流程,可以减少人为错误,确保部署的一致性。
-
插件生态系统: Jenkins 拥有丰富的插件生态系统,支持各种开发工具、构建工具和部署目标。这意味着你可以很容易地将 Jenkins 集成到你的开发工作流中。
-
可扩展性: Jenkins 是开源的,并且具有强大的可扩展性。你可以根据团队的需求定制自己的构建和部署流程,满足特定项目的要求。
3. 拉取镜像
打开命令行工具 PowerShell
, 执行搜索命令,如下:
docker search jenkins
注意,从搜索结果中,你会看到官方提供的 jenkins
镜像描述,提示我们该镜像已经过期,不再维护了。浏览器访问 DockerHub , 搜索关键字 jenkins , 找到目前正在维护的版本,如下图所示,提示我们通过如下命令,来下载最新的 LTS
长期支持版本:
docker pull jenkins/jenkins:lts-jdk17
镜像下载成功后,通过 docker images
命令来检查一下镜像是否下载成功:
4. 运行容器
接着,执行如下命令来运行 jenkins
容器:
docker run -d -u root -p 8080:8080 -p 50000:50000 -v E:\docker\jenkins2\jenkins_home:/var/jenkins_home --name jenkins2 jenkins/jenkins:lts-jdk17
解释一下每个参数的含义:
docker run: 运行 Docker 容器的命令。
-d: 在后台运行容器,即“detached”模式。
-u root: 以 root 用户身份运行容器。这通常用于确保容器内的进程具有足够的权限执行需要的操作。
-p 8080:8080: 将容器内部的 8080 端口映射到宿主机的 8080 端口。Jenkins 服务通常在 8080 端口上运行。
-p 50000:50000: 将容器内部的 50000 端口映射到宿主机的 50000 端口。这是 Jenkins 使用的用于构建和执行任务的端口。
-v E:\docker\jenkins2\jenkins_home:/var/jenkins_home: 将宿主机上的目录(E:\docker\jenkins2\jenkins_home)挂载到容器内的 /var/jenkins_home 目录。这样可以确保 Jenkins 数据和配置持久化,即使容器被删除,数据仍然保存在宿主机上。
--name jenkins2: 为容器指定一个名称,即 "jenkins2"。
TIP : 因为我本地之前测试的时候,已经命名了一个容器名为 jenkins , 这里演示为了防止冲突,命名的 jenkins2 。
jenkins/jenkins:lts-jdk17: 指定要运行的 Docker 镜像的名称和版本。在这里,使用的是 Jenkins 的 LTS 版本,内部使用的 JDK 17。
命令执行后,执行 docker ps
命令来查看正在运行的容器,确认一下容器是否运行成功:
5. 访问 Jenkins
然后,打开浏览器访问 http://localhost:8080 , 首次访问可能速度较慢,请耐心等待一会,会出现如下页面:
需要你提供管理员密码 , 密码可以通过如下命令,来查看 jenkins2
容器的启动日志:
docker logs jenkins2
在日志中,可以看到该密码,如下图所示,将其复制粘贴到输入框中,点击继续按钮:
6. 安装插件
接着,进入到如下页面,点击左边的安装推荐的插件 :
开始安装 jenkins
需要的常用插件,过程比较慢,等待其全部安装完毕:
7. 配置管理员用户
插件安装完毕后,开始配置管理员用户:
注意: 后续再次登录
jenkins
后台需要,务必记住登录用户名和密码。
点击开始使用 Jenkins 按钮,进入到 Jenkins
后台首页,如下图所示,至此,Jenkins
就安装好啦,是不是很简单: