cicd与devops区别是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cicd与devops区别是啥?相关的知识,希望对你有一定的参考价值。
cicd是指持续集成发布部署,是一套流程实现软件的构建测试部署的自动化。DevOps 就是开发(Development)、测试(QA)、运维(Operations)这三个领域的合并。虽然名字中没有体现,但是DevOps仍包括测试。
DevOps与cicd紧密相关,是理论与实践的结合,DevOps要实现人员一体化,必须要借助cicd工具来自动化整个流程。DevOps落地实施,从组织架构、设计人员、流程、人员分工、人员技能到工具,变化很大,要求很高,完全颠覆了现有的开发运维模式,建设风险很高。
DevOps发展介绍
可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。传统的软件组织将开发、IT运营和质量保障设为各自分离的部门。
在这种环境下如何采用新的开发方法(例如敏捷软件开发),这是一个重要的课题:按照从前的工作方式,开发和部署不需要IT支持或者QA深入的、跨部门的支持,而却需要极其紧密的多部门协作。
然而DevOps考虑的还不止是软件部署。它是一套针对这几个部门间沟通与协作问题的流程和方法。在缺乏DevOps能力的组织中,开发与运营之间存在着信息“鸿沟”──例如运营人员要求更好的可靠性和安全性,开发人员则希望基础设施响应更快。
而业务用户的需求则是更快地将更多的特性发布给最终用户使用。这种信息鸿沟就是最常出问题的地方。
参考技术A DevOps强调软件开发测试运维的一体化,目标是减少各个部门之间的沟通成本从而实现软件的快速高质量的发布。cicd是指持续集成发布部署,是一套流程实现软件的构建测试部署的自动化。DevOps与cicd紧密相关,是理论与实践的结合,DevOps要实现人员一体化,需要借助cicd工具来自动化整个流程∞这其中需要借助工具来实现,比如JFrog Pipelines 这样的自动化解决方案,用于构建、测试和部署软件,作为 CI/CD 流水线的一部分。 它提供端到端编排和优化 DevOps 流水线关键流程,包括持续集成 (CI)、持续交付 (CD)、基础设施等,可以自动化从代码到生产的项目。 参考技术B DevOps强调软件开发测试运维的一体化,目标是减少各个部门之间的沟通成本从而实现软件的快速高质量的发布。cicd是指持续集成发布部署,是一套流程实现软件的构建测试部署的自动化。DevOps与cicd紧密相关,是理论与实践的结合,DevOps要实现人员一体化,需要借助cicd工具来自动化整个流程。这其中需要借助工具来实现,比如JFrog Pipelines 这样的自动化解决方案,用于构建、测试和部署软件,作为 CI/CD 流水线的一部分。 它提供端到端编排和优化 DevOps 流水线关键流程∞包括持续集成 (CI)、持续交付 (CD)、基础设施等,可以自动化从代码到生产的项目。云原生DevOps:CICD持续集成|交付|部署
@TOC
基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成
基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署
一、 持续集成
为了让程序代码可以自动推送到测试环境基于Docker服务运行,需要添加Docker配置和脚本文件让程序可以在集成到主干的同时运行起来。
-
添加Dockerfile文件
构建自定义镜像 -
添加docker-compose.yml文件
加载自定义镜像启动容器 -
追加Jenkins构建后操作脚本命令
构建后发布并执行脚本命令 -
发布到GitLab后由Jenkins立即构建并托送到目标服务器
构建日志 -
测试部署到目标服务器程序
查看目标服务器并测试接口
二、 持续交付、部署
程序代码在经过多次集成操作到达最终可以交付,持续交付整体流程和持续集成类似,不过需要选取指定的发行版本
-
下载Git Parameter插件
下载Git Parameter -
设置项目参数化构建
基于Git标签构建 -
给项目添加tag版本
添加tag版本 -
任务构建时,采用Shell方式构建,拉取指定tag版本代码
切换指定标签并构建项目 -
基于Parameter构建任务,任务发布到目标服务器
构建任务
以上是关于cicd与devops区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章
MS AppCenter 和 Azure DevOps(前 VSTS)之间的主要区别是啥?
DEVOPS架构师 -- 06基于sharedLibrary进行CICD流程的优化