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

 更新时间:2024年03月21日 16:28:21   作者:霍格沃兹测试开发学社  
Jenkins 是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目,本文我们将使用 Docker 搭建一个基于 Jenkins 的持续集成平台,感兴趣的可以了解下

前言

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

2.创建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"
    }
]

3.运行: 创建容器并运行

# 重新创建实例并设置时区
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

4.登录配置Jenkins

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

5.创建管理员用户

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

6.配置Jenkins URL

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

总结

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

到此这篇关于Docker搭建持续集成平台Jenkins的最简教程分享的文章就介绍到这了,更多相关Docker搭建Jenkins内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker内部MySQL如何开启binlog日志

    Docker内部MySQL如何开启binlog日志

    这篇文章主要介绍了Docker内部MySQL如何开启binlog日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 删除Docker镜像、容器和卷的教程指南

    删除Docker镜像、容器和卷的教程指南

    Docker 可以轻松地将应用程序和服务封装在容器中,以便在任何地方运行,然而,在使用 Docker 的过程中,很容易积累大量未使用的镜像、容器和数据卷,这些会使输出杂乱,并占用磁盘空间,所以本文给大家介绍了如何删除Docker镜像、容器和卷,需要的朋友可以参考下
    2024-10-10
  • 在Docker中的ubuntu中安装Python3和Pip的问题

    在Docker中的ubuntu中安装Python3和Pip的问题

    这篇文章主要介绍了在Docker中的ubuntu中安装Python3和Pip的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • docker容器如何优雅的终止详解

    docker容器如何优雅的终止详解

    最近公司在试验如何将项目部署到docker容器中去,这其中涉及到一个技术环节,那就是如何让docker容器优雅的终止。所谓优雅终止,指的就是程序在退出前有清理资源,保存必要中间状态,持久化内存数据的机会。下面通过这篇大家一起由简单到复杂逐一考量一下。
    2016-11-11
  • 基于Docker搭建Redis主从集群的实现

    基于Docker搭建Redis主从集群的实现

    本文基于Docker+Redis5.0.5版本,通过cluster方式创建一个6个redis实例的主从集群,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Docker Volume的用法看这一篇就够了

    Docker Volume的用法看这一篇就够了

    这篇文章主要介绍了Docker Volume的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • docker 如何修改mysql的root密码

    docker 如何修改mysql的root密码

    这篇文章主要介绍了docker 修改mysql的root密码操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker限制容器内存的方法详解

    docker限制容器内存的方法详解

    在服务器中使用 docker 时,如果不对 docker 的可调用内存进行限制,当 docker 内的程序出现不可预测的问题时,就很有可能因为内存爆炸导致服务器主机的瘫痪,本文将介绍使用 docker 进行容器内存限制的方法,感兴趣的朋友一起看看吧
    2023-11-11
  • 基于docker部署Jenkins的详细教程

    基于docker部署Jenkins的详细教程

    这篇文章主要介绍了基于docker部署Jenkins,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Docker实践--部署Nodejs应用

    Docker实践--部署Nodejs应用

    本篇文章主要介绍了Docker实践--部署Nodejs应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论