当前位置: 首页 > 网络应用技术

DevOps的哪个元素贯穿(DevOps的角色)

时间:2023-03-06 00:51:15 网络应用技术

  简介:本文的首席执行官注释将介绍DevOps元素的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  1. Yun的本地是什么?

  Yunyun是基于分布式部署和统一运输管理的分布式云。一组基于容器,微服务,DevOps和其他技术的云技术产品系统。

  云相对于本地。传统应用程序是本地计算机房间的服务器,而云应用程序在云中运行(例如IaaS,PaaS,SaaS)。本机是生物学的,本地的和本地的,也就是说,该应用程序基于基于云的基础,它可以直接在云平台上运行或非常容易迁移到云平台。我们可以定义云原语:这是一个新的技术系统,这是云计算的未来开发方向。

  要在云平台上运行云平台,然后必须具有云的特征,例如弹性望远镜,分布式,快速部署,快速迭代,高效和继续。这不仅只是在物理服务器上迁移原始应用程序到虚拟机。它不仅是云上的基础架构和操作平台。必须更改应用程序架构,应用程序开发方法,应用程序部署方法和应用程序维护方法。

  2.云的本地的核心

  Yun本地的四个核心要素是微服务技术,DevOps,持续交付和容器化。Micro -Service技术使Atomic的应用可以独立部署和迭代。Devops使应用程序能够快速编译,自动化测试,部署,部署,部署,部署,部署,部署,部署,,释放和回滚,并整合开发,操作和维护。连续交付允许应用程序经常释放,快速交付,快速反馈和降低释放风险。该容器使应用程序的整体开发能够形成基于容器的,形成的,代码组件重复使用和资源隔离。

  微服务

  Micro -Service是一种独立的应用程序服务,可以用作独立的组件升级,灰度或再利用等。每个服务都可以由专业组织分开完成。团队的组织结构更简化,沟通成本较低,沟通成本很低,并且效率很高。

  DevOps

  连续交付

  敏捷开发需要持续交付,因为有一个版本可以随时可以到达大型团体环境,因为敏捷的开发要求可以继续交付。需要迅速对客户需求的响应,需要连续交付的目的非常频繁地发布,因此将同时使用多种版本的服务,因此有必要支持灰色释放/金鸟释放。

  容器化

  Docker是软件行业中最受欢迎的软件容器项目。Docker在应用程序隔离中扮演角色,以移动微服务的所有配置,依赖关系和环境变量及其转移到新的和非不同的操作环境所需的所需。

  第三,Yun本地人的优势

  快速上网,可以在最短的时间内启动云开发。

  专注于业务逻辑

  提高发展效率

  云开发模式提供了API接口。数据存储和通过API上传的文件的操作以及文件上传大大提高了开发效率。您不需要学习新语言,您只需要掌握JavaScript即可。

  弹性望远镜

  当绩效需求继续增加时,云发展可以弹性扩展性能

  操作和维护自动化是我们想要的,但是当我们盲目强调自动化功能时,我们会忽略影响自动化登陆的关键因素。这是与操作和维护相同的业务结构,这使人们爱和恨。

  要点:独立体系结构

  任何架构的产生都是满足特定业务需求。如果我们满足业务需求,我们可以考虑建筑管理的运营和维护的非功能要求。

  从操作和维护的角度来看,所请求的架构独立包括四个方面:独立部署,独立测试,组件化和技术解耦。

  独立部署

  它指的是可以部署,升级,撤回的源代码。根据方便操作和维护的管理要求,可以通过配置来区分区域分布。服务室通过接口请求相互呼叫,部署独立也是运营和维护独立性的先决条件。

  独立测试

  操作和维护可以通过一些方便的测试用例或工具来验证业务体系结构或服务的可用性。具有此功能的业务体系结构或服务允许操作和维护能够独立上网,而无需每个版本或更改要开发或测试。

  组件规范

  它指的是对同一公司中相关技术的良好框架支持,以避免使用不同的技术堆栈或组件的不同开发团队,从而导致公司的内部技术体系结构失控。

  这种方法可以限制操作和维护对象的不当增加,因此操作和维护始终控制生产环境。同时,它还可以使运营和维护更多的能源投资,以在标准方面进行更大的效率和质量构造成分。

  技术解耦

  它是指减少服务和服务之间的关系,还包括减少代码对配置文件的依赖性。这也是实现微服务的基础,以及独立部署,独立测试和组件的基础。

  关键点2:部署友好

  DEVOPS中有大量的技术实践,希望从头到尾都有开发,测试,操作和维护的所有技术链接,以实现快速部署和交付价值的目标。是运营和维护日常工作的重要组成部分。它属于计划中的工作。它是高度重复的,必须提高效率。

  为了获得有效且可靠的部署能力,我们必须在整体计划中做出良好的工作,以确保部署和操作中的全面操作和维护控制。五个纬度的内容与部署友好有关:

  CMDB配置

  在每次部署之前,操作和维护需要清楚地掌握应用程序与结构和业务之间的关系,并更好地理解和评估工作量和潜在风险,以便更好地理解和评估工作量和潜在风险。

  在编织云自动化操作和维护平台中,我们习惯于配置信息,例如业务关系,集群管理,操作状态,重要级别和体系结构层作为CMDB配置管理数据库中操作和维护的管理对象。这种管理方法很明显。存储和维护对象的配置信息集中。它将为自动化功能(例如操作和维护操作,监视和未来的监视和警报)的构建提供大量数据支持和决策辅助影响。

  环境配置

  在操作和维护的标准化程度较低的企业中,阻碍部署交付效率的原始犯罪之一是环境配置。这也是容器化技术想要解决的主要操作和维护疼痛点之一。

  在腾讯的运营和维护实践中,通过列举的资源收集以及与环境相关的列举资源收集以及操作和维护操作,结合了自动初始化工具,以实现标准环境管理的实施,对三个主要开发,测试和生产的标准化管理进行了标准化管理。。

  依赖管理

  在数据库和操作环境中求解应用程序软件的管理。在编织云的实践中,我们使用包装管理来配置依赖的库文件或环境,并通过整体包装和正面和前面和前面以及后执行脚本解决方案。该行业还具有轻巧的容器化交付方法,这也是一个不错的选择。

  部署方法

  连续交付原则提到有必要创建可靠且重复的交付线路。对于应用程序软件的部署操作,我们还强烈计划了这个目标。行业中有很多案例,例如Docker's Build,Ship,运行,运行,例如编织云的配置描述,一个单击部署标准化过程等等。

  释放自我检验

  释放自我检验包含两个部分:

  对应用的轻量级测试;

  发布/更改内容的内容。

  建立这两个功能,以应付不同操作和维护方案的需求。例如,当发布发布内容的发布能力时,操作和维护人员可以快速获取更改文件MD5,或者可以执行相关过程和端口配置信息。检查比较以确保每次更改的可靠性。

  同样,轻量级测试是满足发布过程中服务可用性检测的需求。此步骤可以检测服务的连接,也可以运行一些中继测试用例。

  在线灰

  在“三十六十六的日常操作和维护”中有这样的句子:删除或修改操作是不可逆的,尝试延迟或缓慢执行。这是灰度的想法。无论是来自用户,时间,服务器和其他纬度的灰烬的灰烬,还是要尽可能降低在线操作的风险。对操作和维护更加友好。

  关键点3:操作安全

  思维和维护中最理想的微服务体系结构必须是具有强大操作和维护的类型。没有前所未有的应用程序或体系结构,不仅是黑盆,而且对他们的职业发展造成了巨大伤害,因为维护无法可用的建筑为了维护只是浪费运输运营。

  根据操作规格和管理规范,可以将操作和维护总结为以下七个点:

  配置管理

  在微服务体系结构的管理中,我们建议将二进制文件的应用与配置分开,以实现独立部署的目的。

  分开的应用程序配置有三种管理方法:

  文件模式;

  配置项目模式;

  分布式配置中心模式。

  仅限于以上三种方式的长度,讨论了以上三种方法。不同的企业可以选择最适用的配置管理指标。关键是需要每个业务的一致解决方案。操作和维护可以具有针对性的施工工具和系统,以便在配置管理方面做得很好。

  版本管理

  DevOps继续提供八个主要原则的八个原则之一,“将所有内容纳入版本控制”。操作和维护对象条款,如果您想良好地管理它,则必须清楚地描述它。

  与源代码管理,操作和维护的要求类似,还需要对日常操作的对象管理,例如包装,配置,脚本等,以便在完成自动化操作对象时为操作和维护系统做准备和版本。

  标准操作

  需要执行许多高度重复的工作和维护工作。从精益思想的角度来看,这里有很多浪费:学习成本,毫无价值的操作,用于重复构造的脚本/工具,人类肉体实施的风险等等。

  如果可以在企业中形成操作和维护操作规范,例如文件传输,远程执行,申请起始-UP停止等。操作都是标准化的,集中的,一个单击操作,操作的效率和质量和质量维护将是伟大的。

  流程管理

  包括应用程序安装路径,目录结构,标准化的过程名称,标准化端口号,启动方法,监视解决方案等。自动化操作和维护,并减少外部任务的发生。

  空间管理

  磁盘空间使用的管理是确保有序存储业务数据,这也是减少外部任务发生的有效手段。

  提前需要的计划:备份策略,存储计划,容量预警,清洁策略等,并补充有效的工具,以免这些任务不再困扰操作和维护。

  日志管理

  日志规范的实施和实施需要与研发紧密合作。实践中获得的经验。操作和维护理想中的日志规格必须包括以下要求:

  业务数据与日志分离

  日志和业务逻辑解耦

  统一的日志格式

  后代码和评论很明确

  可以获取业务指标(请求量/成功率/延迟)

  定义关键事件

  输出水平

  管理方案(存储持续时间,压缩备份等)

  实施上述条件的日志规范时,开发,操作和维护以及业务可以获得更好的监视和分析功能。

  集中控制

  操作和维护工作很容易切成不同的部分,发布更改,监视和分析,故障处理,项目支持,阴云管理等。我们有一个停机操作和维护管理平台,以便所有工作信息都可以连接为了防止信息岛或信息的手动传输引起的连接和继承经验,并提高整体操作和维护控制的效率和质量。

  关键点4:容忍灾难的容忍度

  技术操作(操作和维护)的四个职责:质量,效率,成本和安全性。质量是保证主要保证的职位。转换为架构的观点。眼睛和维护眼中理想的高可用建筑设计应包括以下几点:

  负载均衡

  从操作和维护的角度来看,无论是软件还是硬件的负责任和平衡的解决方案,我们始终希望业务体系结构无状态,路由地址是智能的,并且会自动实现群集容错的公差。

  在Tencent多年的路由软件实践中,该软件的负载平衡方案被广泛使用,可用于高高使用高应对商业体系结构。

  可调性

  在移动互联网流行的时代,调整是一种极为重要的操作和维护方法。当业务遭遇无法立即解决时,将用户或服务从异常区域进行调整是一种经过测试且令人不快的技术。在大规模运营中。它也是腾讯QQ和微信保证平台业务质量的核心操作和维护功能之一。

  结合域名,VIP,访问网关和其他技术,支持调度,丰富操作和维护管理方法的能力,并能够更加平静地响应各种故障方案。

  不同的地方

  多生活是对可用的高数据的需求,这是可调节的先决条件。对于不同的业务方案,技术实施方法不受限制。

  Tencent的实践实践可以介绍“建筑设计和2亿QQ用户大规模计划背后的架构设计和有效操作”。

  主和步开开关

  在数据库的高可用性方案中,主要切换是最常见的灾难公差和容忍度解决方案。通过在业务逻辑中实现读取和写作分离,并结合智能路线以选择无人职位的主要自动化,这无疑是毫无疑问的DBA建筑设计的最佳礼物。

  灵活的

  “首先携带并优化”是腾讯的巨大操作想法之一,它也清楚地清楚了我们对业务结构进行高度可用的设计的方向。

  当业务量增加时,如何最大程度地保证业务?对于建筑规划和设计而言,这是一个不可避免的问题。设置灵活的开关或自动拒绝架构中多余请求的逻辑可以确保后端服务是在关键时刻不是雪崩,并确保业务架构的高可用性。

  要点:质量监控

  保护和改善业务质量是追求运营和维护工作的目标,监测能力是我们目标的重要技术手段。操作和维护希望体系结构为质量监控提供了便利性和数据支持,并需要以下几点:

  索引测量

  每个体系结构都必须通过指标来衡量,同时我们希望最好拥有唯一的索引测量。监视指标的数量将通过越来越改进的业务监视增加。因此,架构的索引测量值是我们希望最好拥有唯一的索引测量。

  基本监控

  指的是低级指标,例如网络,专用线,主机和系统。这些监视点中的大多数属于非无创公式,并且很容易获得数据收集。

  在具有合理操作和维护功能的企业中,基本监视生成的大多数警报数据将被收集。在同一时间,监视数据的这一部分将为高级业务监视提供数据支持和决策基础,或它包装到更接近上限应用程序方案的业务监视数据中,例如容量和多维指标。

  模块监视

  Tencent用于集体将开发框架,路由服务,中间件等作为组件。这种监视是在基本监控和业务监控之间进行的。组件监视的覆盖范围得到了改善,获取数据的成本为中等。如果监视路由组件的监视,操作和维护可以获得每个路由的请求,延迟和质量指标服务。

  业务监控

  业务监控的实施方法分为主动和被动监控,可以在入侵中实施,并可以通过旁路实现目标。这种类型的监视方案需要开发的合作,并且与编码和体系结构有关。

  通常,业务监视指标可以概括为三个指标:请求,成功率和延迟。有许多实现手段,包括日志监视,流数据监视,波浪测试等。业务监视是高级别的监视,通常可以直接直接反馈业务问题。管理规范,例如返回代码定义,日志协议等。当需要业务结构时,预先考虑的操作和维护监视和管理请求,全球规划的范围。

  完整的链接监视

  基本,组件和业务的监视方法更加注重要点。在分布式体系结构的业务情况下,我们必须考虑对服务请求链接的监视。

  基于唯一的事务ID或RPC调用关系,通过技术手段恢复了呼叫关系链,并且监视警报是由模型或事件触发的,以反馈服务链接的状态和质量。监视方法很高 -结束监控的应用,这还需要商业架构计划来制定前计划和代码掩埋点。

  质量评估

  任何监视功能和质量优化的进步都需要具有封闭的管理循环。评估是一个很好的手段。从监视覆盖范围,指标的全面性,事件管理机制到报告评估得分,操作,维护和开发可以共同创建反馈质量管理的连续连续连续连续的闭环,使业务结构能够连续发展并改进。

  点6:性能成本

  在Tencent中,所有技术运营商都承担着重要的功能,以确保业务运营成本合理。为此,我们必须拥有相应的管理方法来应用程序吞吐量,业务能力计划和运营成本。

  吞吐量

  在连续交付方法中,在测试阶段执行的非功能需求测试非常重要,这是建筑吞吐量的压力测试,并确保启动应用程序后业务能力的健康状况。

  在Tencent的实践中,在测试阶段进行性能压力测试不限。我们将结合路由组件的功能,以执行对业务模块和业务组合的真实请求的压力测试,以建立业务能力模型的基准。IT还提供了来自方面的数据演示,以提供业务体系结构的吞吐量是否满足成本评估的要求,并使用不同业务之间的绩效数据比较来促进建筑绩效的持续改进。

  容量规划

  英语中的一词可以转化为:申请绩效,服务能力,业务总需求以及操作和维护的能力计划是指根据申请绩效的前提下的业务要求总数的合理服务能力计划。

  运营成本

  降低运营成本是为了减少公司现金流量的投资,企业的价值并不比提高质量和效率弱。

  Tencent基于社交,UGC,云计算,游戏,视频和其他富裕媒体业务。每年带宽和设备等运营成本的数量非常大。要优化运营和维护的运营成本,它通常涉及产品功能和业务体系结构的优化。因此,运营和维护理想的业务架构设计需要足够的意识成本,

  概括

  本文纯粹是由具有尺寸和尺寸角度的个人组织的微服务架构的设计。为了最大程度地提高运营和维护的价值,以确保业务质量,效率和成本的全面提高。

  操作员需要具有架构感,并且可以从不同的角度站在业务架构上。Devops Spirit也提倡这一点。开发,运营和维护将继续优化最佳的业务结构。

  当涉及敏捷交付时,我们将始终谈论连续集成,连续交付和连续发布,即频繁地交付产品特征。我们都知道要实现真正的连续交付,必须有两个关键要素:

  只有测试不好,只有集成工具不好,并且两个需要合并为一个以维持相同的速度以实现连续质量反馈,以实现结论和连续释放。

  您可以打开门去看山并说:自动化测试≠自动化工具≠连续测试

  根据我的个人项目经验,我试图绘制以下数字来表达这三个之间的关系。

  在提及自动测试时,许多人将使用等效测试的工具。自动化测试应该是一种战略系统工程,不仅是自动化工具。就像我们的产品一样,我们不仅必须拥有技术架构设计,而且还必须具有产品架构设计除工具框架外,还需要考虑自动测试:

  该项目的技术堆栈,产品架构,开发过程,基础架构,可靠的测试数据,稳定和清洁的测试环境,如何介绍测试报告,如何工程测试配置,测试套件等。

  没有足够的自动化测试,我们的目的是在连续交付过程中实现快速,频繁的质量反馈。我们需要继续测试。要实现持续的测试,不仅需要团队在文化上支持,真正负责测试和质量,创造DevOps文化氛围,并为开发测试操作和维护的障碍开放;虚拟化;技术,容器和相应的布置技术,甚至网络知识等。

  维基百科的自动化解释:

  在软件测试中,测试自动化是从Soundtware工作台到执行测试和比较结果不足的软件站点的用户

  根据定义,您可以总结自动化测试的两个特征:

  测试,这是质量评估的重要手段之一,自动化测试只是一种特定的测试方法。它可以释放质量检查的手和大脑的一部分(即大脑的这一部分,即已知),这将是通过检测已知特征和已建立的逻辑过程完成。QA将对投机能力和分析和判断能力做更多的作用。探索产品以扩大产品的已知产品;

  维基百科对连续测试的解释:

  

  从这个定义可以看出,连续测试的目的是在软件交付的管道中执行自动测试,以提供产品质量的反馈。

  想在定义中强调几个关键字:自动测试,交付管道,即时反馈,业务风险。

  无论使用哪种工具,如果它与项目的技术堆栈和基础架构不兼容,它无处可享受其优势,而且普及不一定适合项目。

  在编写自动化之前,质量保证需要对项目的技术堆栈,开发过程和基础架构有基本的理解和理解。此外,您还需要理解和掌握每个工具之间的优势和缺点,以便为项目选择最匹配的自动化工具,以选择该项目的最匹配的自动化工具。其他人告诉您,与您所经历的实际战斗相比,您是两种不同的收益。就像看电视和当场观看音乐会之间的区别一样。他人的谈话永远是他人,而您经过的方式是您自己的。

  在过去的两年中,赛普拉斯真的很热。当我去年对项目进行UI自动测试时,我想出于好奇心进行练习。在实践中,赛普拉斯本身可以通过环境变量和插件来配置代理,但不支持Socks5代理(目的是所有资产,所有资产该项目,包括通过SOCKS5代理连接的测试环境),并且无法访问在线环境。在那个时候,我还尝试将Socks5的代理转换为HTTP代理,但是由于Cypress本身是多线程,因此Socks5只能拦截第一个过程的网络通信。play.play。没有一个人以及工具。只有那些适合您的人才是好的。

  考虑到您不会制作车轮,您喜欢它,并在项目上使用Socks5代理约束。之后,您切换到CodeCeptjs。尝试几次,并觉得它对项目需求感到非常满意。LET列表一些简单的codeceptj点。请移动官方网站以获取具体详细信息。

  由于团队可以完全自由选择技术堆栈,因此在制作第三个产品时,我们对弟弟的发展不再对仅编写REST API感到满意,并且第三个产品开始介绍GraphQl.i我使用的是请放心。上一个项目的API测试。感觉这也很容易使用,但是当时我没有放心,因为那时我只是找到了一个thouhgtworks来开发API功能测试工具Pandaria。TW的开发非常有意识。)选择此工具,除了它不会制作车轮。除了支持代理外,基于Cucumber JVM更重要。我亲自在我以前的项目上使用了黄瓜。Gherkin语法非常熟悉,它可以提供精美的测试报告。它支持REST API测试和GraphQL测试,这与我的个人技术和项目的实际情况非常匹配。

  当该项目是标准化安全过程的第一个产品时,一旦完成MVP1(最低可行产品),就实现了产品的接口自动化测试和End -to -end Automation测试,并将其集成到该产品上产品CI/ CD组装线。由于客户的硬件集成问题,该产品基于MVP1进行了进化。它直接集成到产品中,并将安全过程规范到“曲线以拯救国家”土地以加强安全过程。页面和界面设计也发生了很大变化。要对产品过程设计的更改,先前的接口测试以及End -end to -end自动化测试无效,并且需要重写和维护。

  这种经历非常真实。自动化很好,但价格很高:建议不要在MVP1上急于自动化产品,尤其是POC(概念证明)阶段。请勿在项目开始时尝试执行UI级别自动化。当然,该工具的尖峰还可以。构建框架并等待特征稳定,您可以直接添加测试用例。

  我们必须选择自动化以考虑项目是否具有客观的实际需求。在实施特定的自动化测试之前,我们必须对自动化测试的输入和输出进行客观合理评估。如上图所示,自动化测试的成本相对较高(或少量)手动测试。它很高。它是自动化的少量测试活动。输入输出比非常低。QA需要根据项目进度,产品演变,测试策略,回归频率等进行全面评估,以找到图片中的交集,即,团队和产品的时间,什么何时以及什么应该引入自动测试。由于自动化的早期阶段,有必要投资于产品分析,工具框架选择,使用案例设计,数据环境准备等。在后期,有必要不断投资于人力及时维护和更新,以确保自动化测试的严格性和足够覆盖范围。

  尽管敏捷强调了所有高质量的员工,但我一直在等待的团队,我所做的项目几乎没有练习。每个团队在“ Drop-Pit反馈调整”的周期中成熟。

  在提供微服务产品时,背面有多个API。每个API都有相应的API集成测试,产品和UI测试,并且该团队还具有另外3个产品可维护。每个产品具有自动测试,前端的前端。将来将增加四组测试,并将视觉测试增加。

  一开始,没有人去看测试,没有人得到维修。由于该项目基于基于躯干的开发,以确保测试的及时性,要么每天添加新用例或在维修各种测试的道路上。UI测试比API测试更容易受到伤害,并且需要经常进行维护成本,尤其是基于主要开发团队的项目。在那个时候,我觉得我成为自动化工程师。我对产品的新功能特征并不十分清楚,也没有给出有关故事卡的测量的反馈。我觉得自动化并没有真正达到释放精力和时间的最初意图。

  如果质量保证只是一个维护管理的人,那么本质质量保证只能做自动化以外的其他事情。只有一个质量检查质量检查。我们的质量检查是质量分析师,而不是自动化工程师。在敏捷项目下,质量保证的主要任务应该是将团队的角色推向质量。

  为了增强团队对自动化测试的重要性,如下所示,我个人在项目中采用了一些方法:

  除上述内容外,该项目还需要高度视觉或能够及时通知测试状态。

  该项目使用Jenkins的Build Mord Monitor视图。项目管道的监视在电视上投影,并且可以配置相应的提示声音,以使团队及时了解最新的构建,部署和测试状态。

  以下是我们项目上的当前线仪表板:

  这些做法是“优质员工”的最重要实践。我认为每个团队都不一样,但是敏捷质量保证的主要价值必须是推动团队提高和对质量的贡献。

  敏捷质量保证负责项目的质量,产品的质量以及产品的外部质量以及自动化测试只是质量保证的衡量标准,而不是唯一的措施。“团队可以发布您的质量检查并进行更多质量分析。设置,分析产品体系结构以制定适合项目产品的整体测试策略,等等。

  当项目自动化以集成到装配线时,在云容器中运行测试时会遇到一些常见问题。

  1)测试工具相关

  尽管可以从互联网上找到许多问题,但是在解决问题时,我们通常需要了解工具框架的工作原理,否则即使搜索关键字也可能无法解决。

  2)可以看到测试报告

  测试报告对我们的快速定位失败非常有帮助。良好的测试报告可以直接揭示问题的根本原因。在云运行测试中,我们通常希望测试工具可以输出具有强大可读性的阅读报告,以促进非技术人员的阅读。我们还希望测试工具可以在控制台中打印操作过程的详细信息,以促进技术人员定位原因。

  就像前面提到的CodeCeptj一样,它提供了各种不同形式的操作,并且可以使用摩卡咖啡来生成各种类型的测试报告。目前,市场上的测试工具将依赖于第三部分库,尤其是前端测试框架和工具。这对QA或团队的技术宽度有一定的要求。

  此外,詹金斯(Jenkins)有一个非常丰富的插头库。选择测试工具时,您可以考虑是否有Jenkins报告视觉支持。QA需要非常熟悉Jenkins和测试工具。我还需要知道如何通过测试工具生成的某种格式将测试报告集成在Jenkins中,以促进一个单击的测试报告。

  像Cucumber的测试报告插件-in:

  像Allure的测试报告插件一样:

  在这些插头的帮助下,您可以单击一键在装配线上获得测试报告,从而为“优质团队责任”提供了一个很好的机会。

  3)管道作为代码,如果要将测试集成到装配线,则不可避免地需要一些与DevOps相关的知识

  也许该项目的需求是如何通过jenkinsfile并行运行各种测试。也许它用于通过JenkinsFile将相关参数传递给云上的测试。也许您需要将调试信息添加到Jenkinsfile进行在线调试,等等。

  它在云上运行,我们还需要学习如何在奴隶上优雅地管理经过测试的容器。没有容器职业,从属存储器不足,测试失败后报告失败。

  因此,只有自动化工具还不够,并且仅自动测试还不够。如果您的团队开发没有DevOps的经验,或者他们忙于特征开发和在线冲刺,那么QA必须了解Docker的基本命令和使用情况kubernetes.qa是一个需要连续学习的角色,而无需区分前后,没有技术堆栈。

  自动化工具可以被视为编织的道具,并且自动测试资产被认为是可以是钓鱼鱼的网,并且连续测试可以真正实现连续交付。取消交付流量。

  只有网不像河流那样好,或者您不知道将其放在哪里,那么您只能站在岸上钓鱼。它不是及时的,也没有释放释放钓鱼者(QA和团队)。

  我们期望各种网络(自动测试资产)放置在不同的河流区域(不同级别的软件产品:功能级别?组件级别?系统级别?)滤除了不同的鱼类(缺陷),无论谁(所有字符)团队),您可以确认是否捕获了鱼(测试悬挂?为什么悬挂?我们对当前的变化有足够的信心吗?),还要求每个人确认我们的渔网是我们的渔网是什么。't损坏了吗?(而不是测试覆盖范围?不是严格吗?测试用例已过时?)。

  软件交付是团队合作,即使还需要自动测试才能合作。

  文字/思想工作

  DevOps是IT服务管理的模型。在过去的几十年中,IT操作和维护经历了几个阶段。

  简而言之,DevOps试图打开开发,操作和维护的部门墙,以打开整个IT值交付的整个生命周期,并提高整个过程的效率,从产品需求到整个过程在线操作和维护。

  DevOps最重要的作用是提高企业产品的交付质量,缩短开发周期并减少失败。降低成本和效率是数字化转型后每家公司的巨大挑战。毫无疑问,DevOps直接达到了疼痛点。

  作为DevOps工程师,除了软件工程师的基本编程能力外,它还需要特定的人际交流,工具使用和其他技能。换句话说,DevOps工程师还需要具有“软”和“硬”技能,如下:

  1.沟通与协作技能

  DevOps是跨软件开发,测试和部署的一种协作方法。它收集具有不同目标的小型团队,以实现更高效和高质量的代码版本。这要求在DevOps过程中不同角色之间必须没有沟通障碍。因此,良好的沟通技巧(无论口头还是书面)对于优秀的DevOps工程师至关重要。

  协作的能力也很重要。Devops是团队合作开发模型。每位工程师都是团队成员,需要在整个软件迭代期间支持其他同事的工作。这不仅要求我们成为一名出色的队友,而且在适当的情况下为新移民提供了一些建议,包括但不限于最佳方法指导团队成员提供代码,编码时使用哪些工具以及如何测试最新功能。这要求我们了解这些DevOps流程中的必要技能。

  2.熟悉并理解DevOps工具链

  除了协作和沟通等“软”技能外,DevOps工程师还必须知道如何使用各种复杂工具来支持软件交付目标。这是出色的DevOps工程师所需的“硬”技能。

  DevOps工程师需要知道如何使用和理解以下类型的工具:

  版本控制工具

  详细介绍,结合代码审核和合并函数的版本控制工具是允许多个开发人员完美协作的主要DEVOPS工具。由于DevOps流程将来自各个部门的专家汇集在一起,因此他们需要了解源代码控制系统和系统跟踪不同应用程序中的变化。此外,它还维护了应用程序的多个版本。

  目前,DevOps流程中常用的版本控制系统基于开源分布式版本控制系统Git,例如GitHub,Gitee,Gitlab和主要的基于GIT的内源性协作工具的主要制造商。

  连续集成工具

  连续集成(CI)是DevOps的关键技能之一,它是构建管道的重要组成部分。Devops要求操作和开发团队使用统一的系统。因此,继续集成的是合并的代码通过此类技术,可以有效合并数据。因此,DevOps工程师必须知道如何使用一些常用的CI工具,例如Github Action,Jenkins,Bamboo,Teamcity,Travis CI等。

  容器和布置工具

  作为现代微服务和云的核心技术,容器提供了DevOps的三个基本功能,包括连续实验,流量和反馈。容器技术的非特征基础架构实现了操作系统层的虚拟化。它不仅促进了操作和维护程序的升级和部署,而且还促进了将环境复杂性隐藏到应用程序代码的手段,从而成为促进分布式服务的必要前提。

  目前,Docker仍然是最广泛使用的容器技术,并且带有集装箱布置引擎Kubernetes的Cloud Native Technology Stack是主要互联网公司建立集装箱技术基础架构的事实标准。

  自动化工具

  自动化是软件开发中的重要元素之一。几乎所有手工任务都可以使用各种脚本自动完成。例如,Ruby,Bash,Python,Node,Shell等。成为许多DevOps团队加速开发和部署的关键。掌握自动化工具是DevOps工程师的必要条件。

  监视和警报工具

  DevOps的持续集成和连续的部署实现不能与连续监控的辅助作用分开。许多部件由数百个组件组成,其中一项服务的一项服务可能导致整个系统崩溃。时间 - 耗费以手动找到核心故障。解决方案的一种是继续监视关键功能,例如RAM使用,数量,异常数量和存储空间。因此,需要根据密钥来设置警告系统系统的功能。例如,当存储空间的使用达到80%时,应触发警报,以便DevOps操作和维护开发人员可以在整个系统崩溃之前解决问题。

  3.具有成熟编码标准的特定编程技能

  但是,编程能力是每个开发人员的最基本能力,但是DevOps工程师在这方面仍然有更多特殊要求。

  一般来说,DevOps工程师需要根据专门使用1-2个编程语言来熟悉多种语言框架工程师需要了解这些语言的特征,并具有在操作系统环境中编写和调试的能力。

  第四,技术支持和维护技能

  优秀的DevOps工程师不仅需要开发技能,而且还需要为客户提供维护和技术支持。这意味着DevOps工程师应该愿意支持内部和外部客户,并且在出现问题时未能消除故障。

  Yunyun是一种构建和运行应用程序,技术系统和方法的方法。

  Yun的英语是云语言,一个组合词:Cloud+Native.cloud表示该应用程序位于云中,而不是传统数据中心。本机表示该应用程序从设计开头考虑云的环境。平台弹性+分布式优势。

  云元素的四个元素

  1.微服务

  几乎每个云的定义都包含微服务。与微服务相比,是一个单一的应用程序,微服务具有理论基础,即限制定律。

  2.增加

  容器化是提供微服务提供应用隔离的保证。K8S是容器管理和容器之间负载平衡的容器布置系统。

  3. DevOps

  这是一个组合词。开发+OPS是一种开发,操作和维护拟合。与开发和产品不同,他们经常相遇。实际上,DevOps还应包括测试。DevOps是一种敏捷的思维,一种沟通文化和一种组织形式。为Yunyun提供持续的交付能力。

  4.连续交付

  连续交付将同时开发,不间断的更新,小步骤和反传统瀑布开发模型,这需要开发版本和稳定版本的共存。实际上,需要许多过程和工具。

  结论:以上是首席CTO注释为每个人编写的DevOps相关内容的相关内容摘要。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?