Jenkins 持续集成与部署
Jenkins 持续集成与部署
一、Jenkins 简介
Jenkins 是一个开源的持续集成与持续交付(CI/CD)工具,使用 Java 语言编写,可在 Tomcat 等 Servlet 容器中运行,也可独立运行。
主要功能:
- 自动化构建、测试、部署项目
- 监控外部任务执行
- 支持多种版本管理工具(如 Git、SVN)和构建工具(如 Maven、Gradle、Ant)
常用工具集成:
- 版本控制:Git、SVN
- 构建工具:Maven、Ant、Gradle
官网:https://www.jenkins.io/zh
二、相关工具介绍
1. SVN
- 开源版本控制系统
- 支持分支管理,适合多人协作开发
2. Maven
- 项目对象模型(POM)驱动的构建工具
- 支持项目构建、依赖管理、文档生成
3. Ant
- 基于 Java 的自动化构建工具
- 支持编译、测试、打包、部署
4. Gradle
- 基于 Groovy 的自动化构建工具
- 结合了 Ant 的灵活性和 Maven 的依赖管理
三、Jenkins 工作原理
- 从版本控制系统(如 Git/SVN)拉取代码
- 执行预设的构建脚本(如 Maven、Shell)
- 执行测试、打包、部署等任务
- 生成构建报告并通知相关人员
四、Jenkins 特点
- 易安装:仅一个 WAR 包即可运行
- 易配置:提供友好的 Web 配置界面
- 支持版本变更检测
- 提供永久链接地址
- 集成邮件/RSS/即时消息通知
- 支持 JUnit/TestNG 测试报告
- 支持分布式构建
- 支持文件指纹记录
- 丰富的插件生态系统
五、CI/CD 概述
1. 持续集成(CI)
- 定义:开发人员提交代码后自动触发构建和测试流程
- 目标:快速发现集成错误,提高代码质量
CI 工作流程:
代码提交 → 自动构建 → 自动测试 → 反馈结果
优势:
- 错误易于定位
- 开发流程更可控
2. 持续交付(CD)
- 定义:在 CI 基础上,将代码自动部署到类生产环境
- 目标:确保代码可随时部署到生产环境
CD 工作流程:
CI 完成 → 部署到 Staging 环境 → 手动确认 → 部署到生产环境
3. 持续部署(CD)
- 定义:在持续交付的基础上,自动部署到生产环境
- 目标:实现全自动化发布流程
六、 安装 Jenkins
1、卸载自带 JDK
[root@jenkins ~]# rpm -aq | grep java
[root@jenkins ~]# rpm -e java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 --nodeps
[root@jenkins ~]# rpm -e java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 --nodeps
2、安装 JDK 11
[root@jenkins ~]# yum -y install java-11-openjdk
3、安装 Tomcat 9
[root@jenkins ~]# tar -zxvf apache-tomcat-9.0.67.tar.gz
[root@jenkins ~]# ln -s apache-tomcat-9.0.67/ tomcat
[root@jenkins ~]# cd tomcat/
[root@jenkins tomcat]# bin/startup.sh
4、部署 Jenkins
[root@jenkins tomcat]# cd webapps/
[root@jenkins webapps]# wget http://mirrors.jenkins.io/war-stable/2.346.3/jenkins.war
[root@jenkins webapps]# cd
[root@jenkins ~]# cd tomcat/
[root@jenkins tomcat]# bin/catalina.sh stop
[root@jenkins tomcat]# bin/catalina.sh start
5、访问并初始化
http://192.168.100.10:8080/jenkins




