CI/CD DevOps 简单论述

CI/CD DevOps

JUST DO IT

温暖春日

通过技术工具链完成持续集成CI、持续交付CD、用户反馈和系统优化的整合,实现跨团队的无缝协作(DevOps).

 

什么是持续集成?

他是开发每天代码更新的副本,所有的开发工作都在预定的时间(进度排期)或事件(版本更新迭代)进行集成, 然后自动测试和自动构建, 通过CI 开发过程中出现的错误被及时发现,这样不仅加速了开发周期, 而且提高了工作效率.

 

持续集成的优点?

团队里的所有开发者都在一个产品分支上进行工作, 期望实现更快的速度, 更好地稳定性和可靠性. 并且在开发早期, 能够发现和解决任何编码问题, 使服务下游使用方能够减少问题出现. 另一个好处是提高编码能力, 由于持续集成的灵活性, 使得开发可以快速轻松的更改代码, 避免回归风险.

 

持续集成对于测试时间也有很大影响, 通过CI 开发不断完善代码, 能够检查和编辑以前的代码,减少许多错误,这些错误通常被测试在测试阶段发现, 使测试可以更加专注场景化测试.

 

持续交付CD

通过持续集成和回归测试, 最终代码是要发布到生产环境. 利用技术和工具快速的交付给生产,由于大部分交付周期都是自动化, 所以这些交付可以快速完成.

 

持续交付有什么好处?

加快应用程序的上市时间,市场格局一旦形成是很难在短期内被改变的, 抢得先机是立根之本. 微信早期是如此, 其他程序更是如此.使用CD可以大大加速应用程序发布频率. CI/CD 是现代软件发布流程的产物, 是必然趋势, 积极拥抱才能和竞争对手抗衡.

DevOps

  • docker容器技术已经非常成熟,现如今更是大行其道.

微服务是由一个个团队组成,每团队有自己的服务,可以独立的进行测试、开发、部署. 然后整个应用组合到一起. 开发运维一体化、微服务, 容器把它们组合起来,加上阿里云如此方便 (动态伸缩), 使服务部署更为快捷. 微服务是支撑DevOps的重要手段.

 

  • 微服务架构技术广泛应用于互联网各个行业

传统开发流程在一个服务器里面,把各种小单元装在一起组成一个应用程序,但微服务是每一个服务是一个单独的个体,可以部署在相同或者不同的服务器上,通过SOA的方法,把它连接起来, 支撑业务功能. 

 

  • DevOps主要困难点在于开发, 运维是完全不同性质的技术(部门)

很多开发的同事,看着运维人员整天就那么几个工具,写几个脚本,实际上,很多东西要在生产环境下快速稳定应用,并没有看上去那么容易。生产系统少出问题(软件本身bug除外)是运维的绩效,多实现业务需求是开发的绩效,这一少一多,体现了两种技术角色的根本性区别。

DevOps实施成功的关键,涉及到团队管理,项目管理,技术管理, 测试管理等诸多方面,  DevOps并非治病良药,如果团队正能量大,实施起来就相对容易,否则引入DevOps可能无法改变什么, DevOps是一把必备的双刃剑. 

尚书·大禹谟---人心惟危,道心惟微,惟精惟一,允执厥中, 天之历数在尔躬,允执其中. 

JUST DO IT

温暖春日

JUST DO IT

看了就要关注我

今日推荐阅读文章精选推荐

为什么要做接口测试

JMeter数据库操作

Jmeter接口测试-正则表达式

JMeter中文返回乱码

Jmeter接口测试-参数化

JMeter接口测试-基础

测试-感想

微信长按二维码添加作者

      获取更多精彩内容

赶紧关注我们吧

招聘信息

高级测试工程师

上海 / 经验3年以上 / 全职

职位诱惑:

15薪 发展前景好 预上市企业

高级测试工程师

工作职责

1. 独立负责测试计划制定,测试场景与测试用例设计、执行,BUG提交与追踪,指导其他测试人员完成项目测试;

2. 负责产品的功能、适配、性能等方面的测试以及用户验收测试;

3. 研究测试技术、负责开发测试相关的自动化测试脚本、测试工具,帮助团队提升测试质量和效率;

4. 负责产品的质量评估与质量评价标准制定,能够主动提出合理化修改意见;

5. 完成相关技术文档编写、报告输出、组织和参加相关的技术评审与培训;

任职资格

1.本科及以上学历,3年以上互联网行业测试工作经验,熟练掌握需求分析、测试方案设计、功能测试、自动化测试等;

2.熟悉测试理论、方法,具备大型复杂系统软件测试经验;

3.熟练使用Robot Framework、TestNg、postman、jmeter等自动化框架和工具,拥有接口自动化 WEB自动化或APP自动化

4. 熟悉Jenkins、Git、Maven等工具;有持续集成(CI)及持续发布(CD)经验者优先;

工作地址

上海 - 市区

欢迎自荐和推荐, 需要的微信推送简历!

欢迎自荐和推荐, 需要的微信推送简历!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章介绍docker的前世今生,了 解docker的实现原理,以Django项目为例,教大家如何编写最佳的Dockerfile实现构业务镜像的制作。通过本章的学习,大家会知道docker的概念及基本操作,并学会构建自己的业务镜像,并通过抓包的方式掌握Docker最常用的bridge网络模式的通信。第二章本章学习kubernetes的架构及工作流程,重点介绍如本章学习kubernetes的架构及工作流程,重点介绍如断的滚动更新,通过服务发现来实现集群内部的服务间访问,并通过ingress- -nginx实现外部使用域名访问集群内部的服务。同时介绍基于EFK如何搭建Kubernetes集群的日志收集系统。学完本章,我们的Django demo项目已经可以运行在k8s集群中,同时我们可以使用域名进行服务的访问。第三章本章基于k8s集群部署gitlab、sonarQube、 Jenkins等工具,并把上述工具集成到Jenkins中,以Django项目为例,通过多分支流水线及Jenkinsfle实现项目代码提交到不同的仓库分支,实现自动代码扫描、单元测试、docker容器构建、k8s服务的自动部署。第四章由于公司内部项目众多,大量的项目使用同一套流程做CICD,那么势必会存在大量的重复代码,因此本章主要通过使用groovy实现Jenkins的sharedL ibrary的开发,以提取项目在CICD实践过程中的公共逻辑,提供一系列的流程的接口供公司内各项目调用,开发完成后,还是以Django的demo项目为例,进行Jenkinsfle的改造,最后仅需通过简单的Jenkinsfle的配置,即可优雅的完成CICD流程的整个过程,此方式已在大型企业内部落地应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值