持续集成工具Jenkins
一、持续集成工具jenkins介绍
1.1Jenkins介绍:
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成
1.2Jenkins特性
1.3什么是CI CD
CI CD一般包括三个概念:持续集成、持续交付、持续部署
(1)持续集成
在传统的软件开发过程中,集成通常发生在每个人都完成了各自的工作之后,集成也可以理解为团队里的大家完成自己负责的模块后,将各个子模块集成为一个可以完成整体功能的完整模块。在项目尾声阶段,通常集成还要痛苦的花费数周或者数月的时间来完成。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生,为了实现持续集成,我们每个人都要单元测试,保证各个子模块的正常工作。
(2)持续交付
持续交付是持续集成的延伸,将集成后的代码部署到类生产环境,确保可以以可持续的方式快速向客户发布新的更改。我们把代码部署到测试环境,预发布环境等等类生产环境成为交付。
(3)持续部署
通常将这个在不同环境发布和测试的过程叫做部署流水线
持续部署是在持续交付的基础上,把部署到生产环境的环境自动化
1.4什么是DevOps
DevOps就是开发、测试、运维这三个领域的合并
1.5CICD与DevOps的区别和联系
CICD更关注的是整个开发、测试、部署的自动化过程,当我们在本地测试通过后,我们提交到git上,触发相应的webhook或者类似的东西进行代码的构建,并打包部署到相应的的机器上,自动化的完成这整个过程。
DevOps更关注的是打通用户、PMO、需求、设计、开发、测试、运维等各上下游部门或不同角色;打通业务、架构、代码、测试、部署、监控、安全、性能等各领域工具链;尤其是打通开发与运维之间的gap,两者实际上存在着很多的冲突。DevOps是基于CICD的,自动化的流程是基础,DevOps是一个项目有idea到实际稳定运行的产品的最佳时间
DevOps是CICD思想的延伸,CICD是DevOps的基础核心,如果没有CICD自动化的工具和流程,DevOps是没有意义的。
二、Jenkins的安装与部署
2.1 安装Jenkins
导入密钥:
[root@server ~]# wget -O /etc/yum.repos.d/jenkins.repo \ https://pkg.jenkins.io/redhat-stable/jenkins.repo [root@server ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key |
更新yum源
[root@server ~]# yum upgrade |
安装JDK
[root@server ~]# yum install -y fontconfig java-21-openstack-devel |
安装jenkins