-
任务背景公司的集群架构已越来越robust(健壮), 但应用服务器上的代码升级和新产品的发布效率不高,甚至有代码发布到生产服务器后BUG太多,客户反应强烈的情况出现。公司的产品项目从需求分析,设计,研发,代码测试到发布上线的流程有问题,开发者开发的代码提交后有BUG没有反馈,运维也没有在测试环境下做有效地压力测试, 都是导致问题的原因。所以我们需要运用devops(开发与运维工作流有效结合)思路,通过CICD(持续集成 持续交付)来实现自动化的集成与交付工作。CI/CD(Continuous Integration/Continuous Deployment)是一种软件开发实践,旨在通过自动化的方式频繁地构建、测试和发布软件。CI/CD 可以显著提高软件交付的速度和质量,使团队能够更快地响应市场变化和用户需求。CI(Continuous Integration,持续集成):持续集成是一种开发实践,要求开发者频繁地将代码集成到主分支,并且每次集成都伴随着自动化的构建和测试。这种方法可以快速发现集成问题,确保代码库的稳定性。CD(Continuous Deployment/Continuous Delivery,持续交付/持续部署):持续交付是在持续集成的基础上,将通过测试的代码自动发布到生产环境或用户环境。持续部署是持续交付的下一步,指的是代码在通过所有测试后自动部署到生产环境,几乎不需要人为干预。任务要求1, 使用git提交代码到仓库2, 实现自动代码发布系统任务拆解1, 了解DevOps的发展历程与思想2, 学会git版本控制3, 会使用github公有仓库与gitlab私有仓库4, 了解CICD5, 使用jenkins实现自动发布学习目标了解DevOps的发展历程了解版本控制掌握git的安装掌握git的基本使用DevOps的发展历程DevOps是一种实现Dev(开发)与Ops(运维)工作流有效联合的思想。那么,我们为什么要了解什么是DevOps呢?因为我们下面所讲的课程内容最终的目的就是为了体现开发与运维有效结合方法,越是高级应用,越接近我们DevOps思想所阐述的做事方法。首先我们先来了解一下软件开发层面从软件开发出现时起至今,都经历了些什么?原始开发时代时代特色:软件程序员(单一物种)能做到一专多能,是多面小能手。软件程序员的公司那时还被称作实验室,程序员那时被叫做科学家。为了开发出一套优秀的软件,程序员们必须深入了解他们需要的应用相关的所有问题。他们必须清楚知道这个软件应用在什么场合,这个软件是必须在什么系统上运行。本质上说,程序员对所要开发的软件的所有环节都有透彻的了解,从规格说明书编写、到软件开发、到测试、到部署、再到技术支持。随着技术发展,人类需要软件程序员在软件开发方面具备更快的速度、更全面的功能,以便获取更多的用户等而软件程序员对自身的要求是一专多能,多面小能手,这样就制约了在软件开发方面的开发速度及添加更多功能的可能性。当然人类不会允许这种情况出现的,如果因为一个软件程序员开发速度跟不上,那么就要想办法进行优化,把软件程序员的工作进行细化、分配。在分配的过程中,就逐渐衍生出了类软件程序员的新物种,例如:软件工程师、网络管理员、数据库开发者、网页开发者、系统架构师、测试工程师等。随时新物种的诞生,被各物种划分的领域门头林立,各自为王,很少进行交流互动,只有在迫不得已的时刻才会进行沟通。由于新物种之间的分隔,导致客户的项目开发过程中出现的问题一拖再拖,无法进行有效解决,更无法在交付日期进行准时交付,让客户付出了昂贵的开发代价,甚至项目以失败告终。面对这种混乱的情况,有人想到了一种开发模式:瀑布开发。瀑布开发时代时代特色:各物种一专、多人瀑布流式协作这是一个非常了不起的创意,因为它利用了不同团队的开发者们只在必须的时候才进行沟通的这个事实。当一个团队完成了他们的工作的时候,它就会和下游的团队进行交流并把任务进行往下传,如此一级接一级的传递下去,永不回首。这种方式在一段时间内发挥了效用,但很快,一如既往,客户又开始提出更多的诉求。他们希望能够更多地参加到整个软件的开发流程中来,不时的提出他们的建议,甚至在很晚的时候还提出改需求这种丧心病狂的事情来。结果就是如大家有目共睹的事实一样,软件项目非常容易失败这个说法已经作为一个行业标准被人们所接受。数据表明超过50%的项目最终都是以失败告终的。更可悲的是,在当时看来,人们对这种情况是束手无策。值得庆幸的是,每一个时代总会有那么几个思想开放的英雄如漆黑中的萤火虫般冒出来。他们知道这些不同团队的开发者们必须要找到一个可以协同工作、进行交流、并且能够弹性的向客户保证对方将会拿到最优的解决方案的方式。这就是敏捷开发。适合于比较成型的业务模型,适合于工业设计、制造行业都可以。敏捷开发时代时代特色:物种一专、多人有效沟通、 协作、 拥抱变化最早可以追溯到1957年,伟大的约翰·冯·诺依曼和同行们的努力。但是我们最终却是等到2001年才收获到革命的果实,当时行业的十多个精英创造出了如今闻名世界的“敏捷宣言”。敏捷宣言十二条原则:首要任务是通过尽早地、持续地、交付可评价的软件来使客户满意乐于接受需求变更,即使是在开发后期也应如此。敏捷过程能够驾驭变化,从而为客户赢得竞争优势。频繁交付可使用的软件,交付间隔越短越好,可以从几个星期到几个月。在整个项目开发期间,业务人员和开发人员必须朝夕工作在一起。围绕那些有推动力的人们来构建项目。给予他们所需的环境和支持,并且信任他们能够把工作完成好。与开发团队以及在开发团队内部最快速、有效的传递信息的方法就是:面对面的交谈。可使用的软件是进度的主要衡量指标。敏捷过程提倡可持续发展。出资人、开发人员以及使用者应该总是共同维持稳定的开发速度。为了增强敏捷能力,应持续关注技术上的杰出成果和良好的设计。简洁,做工作量减法。最好的架构、需求和设计都源自自我组织的团队。团队应该定期反思如何能变得更有战斗力。
-
1、建立呼叫时会生成一个四字节的呼叫标志,用变量存储2、使用cell获取呼叫ID(十六进制),根据呼叫标志查询到呼叫id的十六进制字符串3、根据以下规则转换成呼叫id字符串select CONCAT(CONV(SUBSTRING('66E4FF9C0D240500',1,8),16,10),'-',CONV(concat(SUBSTRING('66E4FF9C0D240500',13,2),SUBSTRING('66E4FF9C0D240500',9,4)),16,10))
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签