Docker安装Jenkins全过程

 更新时间:2024年04月23日 09:14:06   作者:颜书凌  
这篇文章主要介绍了Docker安装Jenkins全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

先来解一下什么是Jenkins

jenkins是基于java开发的一种持续集成工具,用于自动化软件项目的构建、测试和部署流程,监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

jenkins功能:

  • 1、软件的持续构建和测试,使开发人员可以很容易的将改变集成到工程中;
  • 2、监视job的执行;
  • 3、项目源代码修改的检测;
  • 4、分布式构建,可更好地利用硬件资源,节省时间。

Jenkins基于java开发,提供了一个易用的平台,使得软件的持续集成成为可能。它起源于Hudson,是一个可扩展的持续集成引擎。

Jenkins的核心功能包括持续的自动化任务、构建监控、测试报告等,它可以帮助开发团队提高软件的质量和效率。

通俗来说: Jenkins是一个开源的软件。

这款软件可以供我们安装,安装成功以后在浏览器中输入 http://localhost:8080(或者是输入http://安装Jenkins电脑的IP:8080)会出现一个界面,在这个界面上进行一些配置,我们就可以通过这个软件来管理我们正在开发的项目,可以让它来减少我们软件开发的时候的出错率,替我们把软件合到一起,并且将有问题的部分检测出来。

Jenkins功能

软件的持续构建和测试,Jenkins提供了一个系统,使开发人员可以很容易的将改变集成到工程中。自动化的、持续的构建有利于提高开发效率。

监视job的执行,job可以实现很多的功能,Jenkins可以对这些项目进行显示,让用户更清楚的注意到这些损毁的job。

项目源代码修改的检测,jenkins能够从项目的Subversion/CVS生成最近修改的集合列表,且不会增加Subversion/CVS Repository的负载。

分布式构建,Jenkins可以将工程构建到多台机器,更好地利用硬件资源,节省时间

我们先来拉取jenkins的镜像,作者这里指定了版本2.401.1 如果不之指定版本,默认拉取为最新版本

docker pull jenkins/jenkins:2.401.1

可以看到我们已经拉取好jenkins的镜像了

创建文件夹 mkdir /mydata/jenkins

给这个目录赋权限 chmod 777 /mydata/jenkins

可以看到权限变成了最高权限

由于之后要自动化部署要用到maven和jdk,我们来下载一下,具体怎么使用jenkins,之后博主会继续更新

首先我们需要下载 java 开发工具包 JDK,下载地址:

Java Downloads | Oracle​编辑https://www.oracle.com/java/technologies/downloads/

我们要选择linux版本1.8也可以,17版本也可以,但是作者这里推荐使用1.8,因为17版本好像和jenkins有冲突

下载好之后,我们自定义一个路径,上传解压之后就好了,作者下载到了usr下面

也可以使用下面这段命令下载jdk压缩包

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

使用下面这段命令解压

tar -zxvf jdk-8u131-linux-x64.tar.gz

#注意,你在那个目录下上传,并且解压,之后这个jdk就在那个目录下

#根据解压目录配置 java 环境变量
vim /etc/profile



#根据自己的安装目录配置
export JAVA_HOME=/usr/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH

#文件生效
source /etc/profile

#测试,显示出 jdk 版本即为安装成功
java -version 

下面来安装maven

#获取压缩包
wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz

#解压缩
tar -zxvf apache-maven-3.9.6-bin.tar.gz

#配置maven环境变量
vim /etc/profile

#修改为自己的安装目录
export MAVEN_HOME=/opt/maven3.9/apache-maven-3.9.6
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

#文件生效
source /etc/profile

#测试,显示出 maven 版本即为安装成功
mvn -v

下面我们来启动容器

docker run -d --name jenkins -p 8089:8080 -p 8880:8888 -p 50000:50000 -v /usr/jdk1.8.0_131:/usr/jdk1.8.0_131 -v /brook/maven/apache-maven-3.9.6:/brook/maven/apache-maven-3.9.6 -v /usr/local/docker/jenkins:/var/jenkins_home jenkins/jenkins:2.401.1

解释一下

  • docker run: 运行一个 Docker 容器的命令。
  • -d: 表示在后台(detached 模式)运行容器。
  • --name jenkins: 为容器指定名称为 "jenkins",这样在未来的操作中可以通过名称来引用该容器。
  • -p 8089:8080: 将容器内部的 8080 端口映射到宿主机上的 8089 端口,这样可以通过访问宿主机的 8089 端口来访问 Jenkins 服务。
  • -p 8880:8888: 将容器内部的 8888 端口映射到宿主机上的 8880 端口,这可能是 Jenkins 容器中使用的其他服务端口。
  • -p 50000:50000: 将容器内部的 50000 端口映射到宿主机上的 50000 端口,这通常用于 Jenkins 的 agent 节点连接。
  • -v /usr/jdk1.8.0_131:/usr/jdk1.8.0_131: 将宿主机的 /usr/jdk1.8.0_131 目录挂载到容器的 /usr/jdk1.8.0_131 目录,这样 Jenkins 容器可以访问宿主机上的 JDK。
  • -v /brook/maven/apache-maven-3.9.6:/brook/maven/apache-maven-3.9.6: 将宿主机的 /brook/maven/apache-maven-3.9.6 目录挂载到容器的 /brook/maven/apache-maven-3.9.6 目录,这样 Jenkins 容器可以访问宿主机上的 Maven。
  • -v /usr/local/docker/jenkins:/var/jenkins_home: 将宿主机的 /usr/local/docker/jenkins 目录挂载到容器的 /var/jenkins_home 目录,这样可以将 Jenkins 的数据持久化存储到宿主机上。 
  • jenkins/jenkins:2.401.1: 指定要运行的镜像名称及版本号。在这里,使用的是 Jenkins 官方镜像,并指定了版本号为 2.401.1。

可以看到我们已经启动成功了

我们来验证一下,访问:http://自己的服务器Ip:8089

我们进入容器来获取我们的密码

进入jenkins容器

docker exec -it jenkins /bin/bash

使用以下命令查看密码

cat /var/jenkins_home/secrets/initialAdminPassword

我们已经获取到了密码回到刚才访问的页面进行解锁,点击继续

来到这个页面,我们选择安装推荐的插件

这个过程中可能有点慢,可能是由于网络的原因

下载完成之后,我们来创建管理员用户

保存完成之后,如果页面卡住了,那就重新刷新一下页面,再来填写一遍就可以了,然后就可以开始你们的jenkins之旅了!!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用 Docker Compose 构建复杂的多容器 App的方法

    使用 Docker Compose 构建复杂的多容器 App的方法

    Docker Compose 工具相当于 C/C++ 的 make 工具,使用 make 需要 Makefile,所有的编译链接设置都在Makefile 中指定,不需要为了运行程序而每次都在终端手动输入长串的指令,这篇文章主要介绍了使用 Docker Compose 构建复杂的多容器 App,需要的朋友可以参考下
    2022-04-04
  • Dockerfile常用命令的使用简介

    Dockerfile常用命令的使用简介

    这篇文章主要介绍了Dockerfile常用命令的使用简介,帮助大家更好的理解和学习使用Docker,感兴趣的朋友可以了解下
    2021-04-04
  • Docker MySQL 8.0.45性能优化配置文档方式

    Docker MySQL 8.0.45性能优化配置文档方式

    文章主要讨论了MySQL 8.0.4 Docker容器在特定服务器环境中的优化过程,首先描述了当前配置和参数,接着分析了优化前的配置,发现存在严重的资源浪费,随后,文章详细介绍了优化后的参数配置,包括InnoDB缓存、连接与线程配置、内存在存临时表、慢查询日志等等的调整
    2026-05-05
  • 使用Docker安装部署Jenkins教程分享

    使用Docker安装部署Jenkins教程分享

    本文主要讲述了如何通过Docker安装Jenkins以及使用Jenkins部署项目的前置准备,包括配置JDK环境D配置Maven环境D使用Docker安装Jenkins和创建Jenkins容器D安装插件D创建管理员用户D配置JDK和MavenD创建Pipeline构建D等agesDsteps以及脚本式Pipeline等
    2026-04-04
  • docker中使用mongodb数据库详解(在局域网访问)

    docker中使用mongodb数据库详解(在局域网访问)

    这篇文章主要给大家介绍了在docker中使用mongodb数据库,在局域网访问的相关资料,文中将步骤介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • docker映射端口穿透内置防火墙的实现

    docker映射端口穿透内置防火墙的实现

    在使用Docker部署项目时,即使未开启CentOS7的Firewalld防火墙,端口仍可被外网访问,这是因为Docker在安装后会接管iptables,并自动添加规则以放行指定端口,解决方法包括依赖外置防火墙放行端口、指定端口监听地址为本机、禁用Docker的iptables规则修改
    2024-10-10
  • Docker安装MySQL8的方法步骤

    Docker安装MySQL8的方法步骤

    本篇文章主要介绍了Docker安装MySQL8的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Ceph集群Docker容器化部署过程

    Ceph集群Docker容器化部署过程

    这篇文章主要介绍了Ceph集群Docker容器化部署过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 如何使用 docker 搭建一个 mysql 服务

    如何使用 docker 搭建一个 mysql 服务

    这篇文章主要介绍了如何使用 docker 搭建一个mysql服务,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

    使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

    这篇文章主要介绍了使用Docker的NFS-Ganesha镜像搭建nfs服务器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08

最新评论