当前位置: 首页 > news >正文

完整教程:jenkins介绍与部署

jenkins介绍与部署

一、Jenkins 基础信息

  1. Jenkins 简介:Jenkins 是开源 CI&CD 软件,起源于商用的 Hudson,用 Java 编写,可在 Tomcat 等容器运行或独立运行,常与 SVN、Git 等版本控制工具及 Maven、Ant、Gradle 等构建工具结合,用于持续自动构建 / 测试软件项目、监控外部任务
  2. 相关工具介绍
    • SVN:开放源代码的版本控制系统,采用分支管理,支持多人协作开发同一项目,实现资源共享与集中式管理
    • Maven:Java 项目构建工具,通过项目对象模型(POM)管理项目构建、报告和文档,缺省构建规则可重用,配置简单
    • Ant:自动化工具,能将软件编译、测试、部署等步骤关联,主要用于构建 Java 应用,也可构建 C/C++ 等非 Java 应用
    • Gradle:基于 Ant 和 Maven 的项目自动化构建工具,负责项目依赖、打包、部署、发布及渠道差异管理等
  3. Jenkins 工作原理:从 SVN/Git 拷贝源代码到本地,依据设置的 build 脚本执行任务,build 脚本是整个系统的关键
  4. Jenkins 特点:具有易安装(仅需 Jenkins.war 文件)、易配置(GUI 界面)、支持代码变更检测、永久链接、集成多种通知工具、生成测试报告、分布式构建、保存文件指纹信息及支持第三方插件等特点

二、CI/CD 概念

  1. CI(持续集成)
    • 简介:开发人员提交新代码后,系统自动构建、进行单元测试,判断新代码与原有代码能否正确集成,可减少代码错误引入
    • 工作模式:涉及源代码(SOURCE)、构建(BUILD)、代码仓库(REPOSITORY)、CI 服务器(CI SERVER)、测试(TEST)、代码提交(CHECK-IN)及结果(RESULT)等环节
    • 优势:频繁集成将复杂代码逻辑分割,便于定位错误;细致的工作提交利于判断工作进度,方便管理开发流程
  2. CD(持续交付与持续部署)
    • 持续交付:在 CI 基础上,将集成后的代码部署到类生产环境(如 Staging 环境)进行更多测试,无问题可手动部署到生产环境
    • 持续部署:是 CI 和持续交付的延伸,能自动将交付的应用部署到生产环境,及时获取用户反馈,降低部署风险,目标是代码随时可部署并自动进入生产环境

三、Jenkins 安装部署(基于 Tomcat 容器)

  1. 部署 Tomcat
    • 卸载 CentOS7 自带 JDK,通过rpm -qa | grep java查看,再用rpm -e命令卸载
    • 安装 JDK11,执行yum -y install java-11-openjdk
    • 下载 Tomcat 9.0 版本(10 版本有 bug),解压到/usr/local/目录并创建软链接tomcat,启动 Tomcat 后测试能否访问首页
  2. 部署 Jenkins
    • 下载 Jenkins.war 文件到/usr/local/tomcat/webapps/目录,文件会自动解压
    • 重启 Tomcat 服务,通过浏览器访问 Jenkins,查看/root/.jenkins/secrets/initialAdminPassword文件获取初始密码登录
  3. 自定义 Jenkins
    • 登录后选择插件安装方式,可先选择 “无”,后续按需安装
    • 创建管理员用户(如 admin,密码 admin)
    • 将 Jenkins 插件源替换为国内源(如华为云、清华大学源),安装简体中文插件及 Git、GitHub、GitLab、Gitee 等插件,安装完成后重启 Jenkins
    • 进行全局工具配置,如安装 JDK,还可进行节点管理

具体示例:

已关闭防火墙与selinux

使用tomcat容器安装jenkins

部署tomcat,tomcat下载https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat,此时下载9.0版本的,10版本部署有bug,无法实现。

先要卸载centos7中自带得jdk

[root@server ~]# rpm -qa | grep java
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
tzdata-java-2018e-3.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
[root@server ~]# rpm -e java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 --nodeps
[root@server ~]# rpm -e java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 --nodeps
[root@server ~]# rpm -qa | grep java
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2018e-3.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch

安装jdk:

[root@server ~]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@server yum.repos.d]# rm -rf *
[root@server yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0   9051      0 --:--:-- --:--:-- --:--:--  9075
[root@server yum.repos.d]# yum -y install epel-release
[root@server ~]# yum -y install java-11-openjdk

上传tomcat压缩包解压,并部署安装:

[root@server ~]# rz -E
rz waiting to receive.
[root@server ~]# ls
anaconda-ks.cfg              Desktop    Downloads             Music     Public     Videos
apache-tomcat-9.0.67.tar.gz  Documents  initial-setup-ks.cfg  Pictures  Templates
[root@server ~]# tar -xzf apache-tomcat-9.0.67.tar.gz -C /usr/local
[root@server ~]# cd /usr/local/
[root@server local]# ln -s apache-tomcat-9.0.67/ tomcat

启动tomcat,测试能否访问tomcat首页:

[root@server local]# cd tomcat/
[root@server tomcat]# bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

在这里插入图片描述

部署Jenkins

下载jenkins到/usr/local/tomcat/webapps/目录下:(注:这里是上传)

[root@server ~]# cd /usr/local/tomcat/webapps/
[root@server webapps]# rz -E
rz waiting to receive.

上传后会自动解压:

[root@server webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT

启动服务:

[root@server tomcat]# bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@server tomcat]# bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

浏览器访问Jenkins:

在这里插入图片描述

查看上图框出来的文件,该文件中记录这密码,复制密码并登录:

[root@server tomcat]# cat /root/.jenkins/secrets/initialAdminPassword
4010907ccf2245a2a6c8782d8008e297

在这里插入图片描述

自定义Jenkins

选择插件来安装:

在这里插入图片描述

选择无,进行安装,后期需要哪些插件就安装哪些插件:

在这里插入图片描述

创建管理员用户admin,密码为redhat:

在这里插入图片描述

此时登录进去是英文界面,我们进行替换国内源:

在这里插入图片描述

在这里插入图片描述

点击
Advanced —> 更新为国内源 —> Submit

原国外插件源地址:https://updates.jenkins.io/update-center.json

国内插件源地址:https://mirrors.huaweicloud.com/jenkins/updates/update-center.json

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

安装Git GitHub GitLab Gitee插件

在这里插入图片描述

在这里插入图片描述

安装完成后,会重启jenkins

http://www.jsqmd.com/news/358132/

相关文章:

  • 2026年中国品牌记忆调查:83%广告语来自电梯媒体,分众如何占领消费者心智?
  • UG NX 补面:抽取几何特征
  • 按肤质选医院推荐护肤品:干油敏痘肌真实排行,华山医院共创领衔 - 速递信息
  • 基于32单片机的多功能电子语音时钟(有完整资料)
  • GitHub 热榜项目 - 日榜(2026-02-08)
  • 基于STM32的温控风扇(有完整资料)
  • 317. Java Stream API - 使用 groupingBy() 构建直方图并提取最大值
  • 2026年分析先进AI照明解决方案,靠谱品牌排名出炉 - mypinpai
  • 2026年高端洗发水香韵与成分双榜:以调香艺术、奢配成分与感官体验定级 - 华Sir1
  • 探寻赛微思咨询的团队专业度高吗,上海地区企业如何选择 - mypinpai
  • 2026智推时代GEO商务对接手册:上海区域专属联系方式与合作流程 - 速递信息
  • 2026智推时代GEO对接联系方式汇总:上海总部直连与区域合作渠道速查 - 速递信息
  • 2026年潜水搅拌机好用品牌排名,蓝恒环保实力上榜 - 工业推荐榜
  • 聊聊深圳罗湖比较好的配眼镜公司,哪家口碑和性价比更高? - mypinpai
  • 2026最新!风靡全网的降AI率网站 —— 千笔·降AI率助手
  • 2026年双曲面搅拌机选购攻略,南京蓝恒环保等优质厂家分析 - 工业品牌热点
  • 分享雄县鸿德电气设备,交货期准时吗,听听客户真实反馈 - 工业品牌热点
  • 聊聊2026年瓷砖厂家选择,北京地区哪家口碑好 - myqiye
  • 聊聊石灰厂家的产品质量如何,专业生产厂推荐 - 工业推荐榜
  • 计算机毕设java邯郸学院健康驿站管理系统 基于SpringBoot的高校健康隔离管理平台设计与实现 校园防疫健康服务系统开发与应用研究
  • 选购活性炭吸附塔,技术强、售后好的厂家有哪些 - myqiye
  • 讲讲2026年复印机租赁专业制造商怎么选择更靠谱 - 工业品网
  • 讲讲全国耐用活性炭吸附塔品牌,江苏格菲普服务超贴心 - 工业设备
  • 反复敏感星人救星!2025 年 2 月修护面霜榜单,医研共创更安心 - 速递信息
  • 盘点2026香港有实力的室内装修品牌企业,靠谱之选别错过 - 工业品网
  • 计算机毕设Java基于Vue框架的烟酒销售管理系统 SpringBoot+Vue烟酒电商销售平台的设计与实现 基于Java Web的卷烟酒类商品在线销售系统开发
  • 敏感肌护肤品牌挑选指南:成分、功效与口碑的综合考量 - 速递信息
  • 喷淋塔设计生产厂哪家专业,好用的品牌有哪些? - 工业设备
  • 2026年广东、江西地区哪个品牌的安全阀检测台质量好 - mypinpai
  • 不踩雷AI论文写作软件 千笔·专业论文写作工具 VS PaperRed 本科生专属