Docker搭建持续集成平台Jenkins最简教程

简介: Jenkins 是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目。在本文中,我们将使用 Docker 搭建一个基于 Jenkins 的持续集成平台。

image.png

前言

持续集成(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

  1. 拉取镜像

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
  1. 创建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"
    }
]
  1. 运行: 创建容器并运行
# 重新创建实例并设置时区
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地址+端口号即可,如下图:

image.png

我们可以在日志中找到Jenkins的初始密码,如下:

docker logs -f jenkins

image.png

我们也可以通过下面的命令来查看Jenkins的初始密码:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
  1. 登录配置Jenkins

我们输入初始密码之后,登录可以开始配置我们的Jenkins了,首先我们可以安装一些必要的插件,如下图:

image.png

  1. 创建管理员用户

安装完插件之后,我们需要创建Jenkins的管理员用户,如下图:

image.png

  1. 配置Jenkins URL

image.png

配置成功之后,我们即可进入欢迎页面,如下图:

image.png

总结

本文主要介绍了使用docker搭建持续集成平台Jenkins的步骤,Jenkins是最常用的持续集成平台,对于我们测试开发的工作有很大的帮助,希望本文能够帮到大家!

相关文章
|
3月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
200 30
|
7月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
193 2
|
5月前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
498 79
|
4月前
|
监控 jenkins Shell
jenkins结合gitlab实现CI(持续集成)
通过本文的介绍,我们详细了解了如何结合Jenkins和GitLab实现持续集成。从环境准备、插件配置到Pipeline任务创建和CI流程监控,每一步都提供了详细的操作步骤和示例代码。希望本文能帮助开发者快速搭建起高效的CI系统,提高项目开发效率和代码质量。
257 8
|
4月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
132 20
|
7月前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
7773 3
【最新版正确姿势】Docker安装教程(简单几步即可完成)
|
6月前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
135 12
|
7月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
1350 8
|
7月前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
8月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用