CI/CD介绍以及jenkins安装 1.1

一 。CI/CD介绍 
 
互联网软件开发和发布,形成了一套流程标准,分为几个阶段:编码,构建,集成,测试,交付,部署
 持续集成(continuous integration)、持续交付(continuous delivery)、持续部署(continuous deployment) 有着不同的软件自动化交付周期 
 
 1)持续集成(CI)
 
上面整个流程中最重要的组成部分就是持续集成(Continuous integration,简称CI)。
 
编码 → 构建 → 集成 → 测试
 
持续集成指的是,频繁地(一天多次)将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。
 
它的好处主要有两个:
1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易;
2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。
 
持续集成并不能消除Bug,而是让它们非常容易发现和改正。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
 
 
2)持续交付
 
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
 
 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。
 
持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。 持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。
 
 
3)持续部署(CD)
 
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
 
持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。 持续部署的前提是能自动化完成测试、构建、部署等步骤。
  
总的来说,持续集成、持续交付、持续部署提供了一个优秀的 DevOps 环境。对于整个开发团队来说,能很大地提升开发效率。
 
二  jenkens 介绍与安装 
 
1)Jenkins基础介绍
 Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,官网:https://jenkins.io/ 
 
(2)jenkins安装,需要先安装jdk  or  JRE    然后执行jenkins.war文件   
复制代码
上传jdk和jenkins.war文件
[root@hd2 ~]# rpm -ivh jdk-8u301-linux-x64.rpm       #安装运行java所需要的jdk软件
[root@hd2 ~]# vi /etc/profile                         #配置java运行的全局环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_301-amd64          #插入如下配置
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/fre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HMOE/jre/bin:$PATH
 
[root@hd2 ~]# source  /etc/profile                    #环境变量重启
[root@hd2 ~]# java -version                            #查看java版本
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)


java -jar jenkins.war #进入上传的jenkins文件所在目录执行java -jar +war文件,来启动jenkins
复制代码

(3)去浏览器输入本机ip地址,密码在启动jenkins最后时候有个password如果找不到就去这文件下找,/root/.jenkins/secrets/initialAdminPassword

 

 

posted @   多次拒绝黄宗泽  阅读(63)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示