Jenkins--在Linux上使用Docker安装

本文介绍了Jenkins作为开源自动化服务器在持续集成和持续交付中的核心功能,包括持续集成、持续部署、任务调度、工作流管理和插件扩展。详细讲解了如何在Linux服务器上安装和配置Jenkins,涉及镜像拉取、目录挂载、容器启动及网络映射等内容。
摘要由CSDN通过智能技术生成

Jenkins是一个流行的开源自动化服务器,用于持续集成和持续交付(CI/CD)。Jenkins的核心功能主要包括以下几点:

  1. 持续集成:Jenkins可以监控版本控制系统(如Git、SVN)中的代码变更,并自动执行构建和测试,确保每次提交都被验证,从而尽早发现潜在的集成错误。
  2. 持续部署:当代码通过测试后,Jenkins可以自动将其部署到不同的环境中,包括测试、预生产或生产环境。
  3. 任务调度:Jenkins能够定时执行任务,比如夜间构建或定期发布。
  4. 工作流管理:Jenkins支持Pipeline,它可以定义一系列的任务(构建、测试、部署等),形成一个完整的流程。
  5. 插件扩展:Jenkins拥有强大的插件生态系统,可以通过安装插件来扩展其功能,支持与各种版本控制系统、构建工具、测试框架等的无缝集成。
  6. 分布式构建:Jenkins支持分布式构建,可以将构建任务分发到多个构建代理上并行执行,这对于大型项目和复杂系统的构建和部署过程至关重要,能够显著提高任务执行的速度,进而提高整体开发效率。
二、安装前准备
  • 需要先在服务器上安装好JDK、Git以及Maven。
    在这里插入图片描述
  • 由于Jenkins拉取代码时,需要对maven仓库有读写权限,所以的先给maven仓进行授权。
chomd 777 /usr/local/src/maven/repo/

三、开始安装
3.1 拉取Jenkins镜像

命令:docker pull jenkins/jenkins:lts

3.2 创建挂载目录

为了方便后期Jenkins中配置文件的修改,以及防止Jenkins中重要文件因为容器损毁或删除导致文件丢失,需要在宿主机上创建一个jenkins_home目录挂载到容器中的/var/jenkins_home目录上。通过挂载的方式可以保证容器的数据在容器停止或删除后依然保留在宿主机上。

## 宿主机上创建挂载目录
mkdir -p /usr/local/src/jenkins_home

## 授权挂载目录的读写权限
chmod 777 /usr/local/src/jenkins_home

3.3 启动容器

通过jenkins/jenkins:lts镜像启动的容器,容器内部会自动指定jdk以及git运行环境,这里就不做修改直接使用默认的jdk以及git。所以,在启动jenkins容器的命令中只挂载服务器上的maven到容器中,方便后续构建项目时无需再次安装maven,直接使用服务器上的maven进行代码的构建。

docker run \
-d \
--name jenkins \
--restart=always \
-p 9100:8080 \
-p 50000:50000 \
-v /usr/local/src/jenkins_home/:/var/jenkins_home \
-v /usr/local/src/maven/apache-maven-3.9.6/:/usr/local/src/maven/ \
-v /etc/localtime:/etc/localtime:ro \
-u 0 \
jenkins/jenkins:lts

  • -d:在后台运行容器。
  • --name:设置容器的名称。
  • –restart:设置容器启动之后自动重启,默认no,always表示启动容器后重启。
  • -p 9100:8080:容器的8080端口映射宿主机9100端口(程序访问端口)。
  • -p 5000:50000:容器的50000端口映射宿主机50000端口(代理端口)。
  • -v /usr/local/src/jenkins_home/:/var/jenkins_home:将宿主机的jenkin工作空间目录挂载到容器中。
  • -v /usr/local/src/maven/apache-maven-3.9.6/:/usr/local/src/maven/:将宿主机的Maven目录挂载到容器中。
  • -v /etc/localtime:/etc/localtime:ro:设置容器时间与宿主机时间一致。
  • -u 0:使用root账号覆盖容器中内置的账号,0表示root账号的id。
3.4 登录Jenkins页面

(1)首次通过在浏览器中输入http://宿主机ip:9100/进入Jenkins页面。首次进入需要从远程服务器下载大量的插件和更新信息,这个过程可能会受到网络速度和稳定性的影响,尤其是Jenkins默认使用国外的镜像源,下载往往很慢。这时可以通过修改宿主机的挂载目录jenkins_home中的hudson.model.UpdateCenter.xml文件,将其默认的url更换成国内的镜像地址,修改完后重启容器。
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
在这里插入图片描述
插件信息更新完成之后会跳出提示输入管理员密码的页面。
在这里插入图片描述
(2)通过到宿主机的挂载目录下的secrets中的initialAdminPassword文件中获取密码。
cat /usr/local/src/jenkins_home/secrets/initialAdminPassword

(3)将获取到的密码输入到页面,点击继续进入到后续的设置。
在这里插入图片描述

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
opics/618542503)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值