devops认识了解&使用流程

1.devops是什么

DevOps是一种软件开发方法,涉及软件在整个开发生命周期中的持续开发,持续测试,持续集成,持续部署和持续监控。 这些活动只能在DevOps中实现,而不是敏捷或瀑布,这就是为什么顶级互联网公司选择DevOps作为其业务目标的前进方向。 DevOps是在较短的开发周期内开发高质量软件的首选方法,可以提高客户满意度。
DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。
在这里插入图片描述

2.devops作用

DevOps的一个巨大好处就是可以高效交付
DevOps另外一个好处就是会改善公司组织文化、提高员工的参与感

3.实现devops需要什么?

硬性要求:工具上的准备

  • 上文提到了工具链的打通,那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下:

    代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
    
    构建工具:Ant、Gradle、maven
    
    自动部署:Capistrano、CodeDeploy
    
    持续集成(CI):Bamboo、Hudson、Jenkins
    
    配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
    
    容器:Docker、LXC、第三方厂商如AWS
    
    编排:Kubernetes、Core、Apache Mesos、DC/OS
    
    服务注册与发现:Zookeeper、etcd、Consul
    
    脚本语言:python、ruby、shell
    
    日志管理:ELK、Logentries
    
    系统监控:Datadog、Graphite、Icinga、Nagios
    
    性能监控:AppDynamics、New Relic、Splunk
    
    压力测试:JMeter、Blaze Meter、loader.io
    
    预警:PagerDuty、pingdom、厂商自带如AWS SNS
    
    HTTP加速器:Varnish
    
    消息总线:ActiveMQ、SQS
    
    应用服务器:Tomcat、JBoss
    
    Web服务器:Apache、Nginx、IIS
    
    数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
    
    项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
    

在工具的选择上,需要结合公司业务需求和技术团队情况而定。

4.devops环境如何搭建

作为测试端:
准备好服务器
在服务器中安装jdk环境
在服务器中安装tomcat环境
在服务器中安装jenkins环境
配置jenkins
创建工程,配置git/svn代码仓库
jmeter编写脚本
jmeter+ant构建脚本
jmeter+ant+jenkins 构建后去执行脚本并利用jenkins查看构建日志,生成报告,发送邮件等

5.devops如何使用

开发新功能:

基于master创建新的本地分支feature-[新功能]
本地开发、测试
开发完毕,使用git rebase master避免冲突, 然后推到远程分支,请求合并到master并删除该远程分支
合并master并删除完毕,发布到测试环境
测试不通过,则回到第1步;测试通过则结束

最后,待本次迭代内的所有特性均完成了测试,那么在master上面打TAG,准备发布新版本。

修复线上BUG:
基于线上版本的TAG创建新的分支hotfix-[BUG]
本地开发、测试
修复完毕,推到远程分支
将该远程分支发布到测试环境
测试不通过,则回到第2步;测试通过,则合到master并删除该分支,打TAG,准备发布补丁版本

版本发布/回滚:

迭代开发完毕,基于新版本的TAG,发布到生产环境
回滚时,基于上个版本的TAG发布到生产环境
热修复时,基于热修复版本的TAG发布到生产环境

6.devops架构图

架构图

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 什么是DevOps?它的目的是什么? DevOps是一种软件开发和运营的方法论,旨在通过自动化和协作来加速软件交付和部署过程,提高软件质量和可靠性,同时降低成本和风险。 2. 什么是CI/CD?它们的区别是什么? CI/CD是DevOps中的两个重要概念,CI(Continuous Integration)指持续集成,CD(Continuous Delivery/Deployment)指持续交付/部署。CI是指在代码提交到版本控制系统后,自动进行编译、测试和打包等操作,以确保代码的质量和稳定性。CD则是指将经过CI测试的代码自动部署到生产环境中,以实现快速、可靠的软件交付。 3. 你如何实现CI/CD? 实现CI/CD需要使用一系列工具和技术,包括版本控制系统、自动化构建工具、自动化测试工具、容器化技术、持续集成/交付/部署工具等。具体实现方式因公司和项目而异,但一般需要遵循一些最佳实践,如代码规范、自动化测试、持续集成、持续交付等。 4. 你如何处理CI/CD中的错误和故障? 处理CI/CD中的错误和故障需要遵循一些最佳实践,如记录错误日志、自动化告警、自动化回滚等。同时,需要建立一套完善的监控和报警系统,及时发现和解决问题,确保系统的稳定性和可靠性。 5. 你如何评估CI/CD的效果? 评估CI/CD的效果需要考虑多个指标,如软件交付速度、软件质量、部署频率、故障率、用户满意度等。可以通过监控和分析这些指标来评估CI/CD的效果,并不断优化和改进CI/CD流程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米雪唲2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值