取消
显示结果 
搜索替代 
您的意思是: 
cancel
公告

December 2020

December 2020

【原创】如何组合多种DevOps工具解决现实问题(1)

491
查看次数
0
有帮助
0
评论
引言:本文和您讨论在DevOps生命周期的每个阶段所涉及到的各种工具。您可以组合使用它们来解决各种现实问题。
在我们开始下面的讨论之前,首先通过一张总图来了解一下不同的工具,在DevOps生命周期中所处的位置。

DevOps生命周期阶段
我敢断言长期从事开发工作的您,一定对上述图片并不陌生。那么,这是否意味着您能够自如地使用各个阶段的各种工具,而不会碰到任何问题呢?
本文将通过引导您遍历DevOps生命周期中的各个阶段,并向您介绍如何综合使用多种DevOps工具,来解决各种现实问题。总的说来,我们在采用DevOps模式进行软件与应用程序开发时,通常会经历如下五个不同的阶段:
u 持续开发
u 持续测试
u 持续集成
u 持续部署
u 持续监控

1.持续开发
此阶段涉及到对于软件应用程序基本功能的计划与编码。虽然对于计划而言,并没有什么可选的工具,但是可用于代码维护的工具却有不少。
通常情况下,项目的实现目标是在计划阶段被确定的。而当项目组成员开始着手编写代码时,就进入了所谓的编码阶段。
程序代码可以用任何一种语言来编写,但是我们需要配备相应的版本控制工具予以维护。如今,在此类持续开发的DevOps工具中,最受欢迎的莫过于:GitSVNMercurialCVSJIRA了。
那么,您是否真正理解保留代码主要版本的重要性呢?让我们从如下两个方面来讨论它对于开发与运营的影响吧:
u 只有各种版本(特别是存储在中央存储库中)得到了管控,我们才能确保统一的可信代码来源。在此基础上,所有的开发人员都可以针对最新提交的代码开展协作。同时,在计划发布最新版本时,运营人员可以确保访问到一致的代码。
u 在发布过程中,如果出现各种意外,或是发现程序代码中存在着严重的缺陷,以及功能性故障,那么运营人员就能够从容且快速地回滚或恢复到,先前部署过的、已处于稳定状态的代码版本上。
目前,大家普遍认可的工具是GitGitHubhttps://dzone.com/articles/git-vs-github-demystifying-the-differences)。其中,Git允许开发人员在分布式的VCS(版本控制系统)上开展彼此协作。
另外,由于并不依赖于中心服务器,因此运营人员可以从远程位置,对存储库进行各种拉和推式的操作。此处用于维护代码的中央存储库,便是GitHub。可见,Git可谓世界领先的版本控制系统之一。

2.持续测试
众所周知,开发好的代码是不能够直接部署或发布到生产系统上的。我们应当充分测试代码的潜在错误和性能瓶颈。
通常,执行测试的方式有两种:效率低下的手动测试和高效快捷的自动化测试。如今业界普遍使用的便是自动化的方式,其中具有代表性的包括:SeleniumTestNGJUnit/NUnit等工具,它们可以自动执行各种用户定义的测试用例。下面我们来看看此类工具的基本特点:
u 自动化测试节省了手动执行各类测试的大量时间、精力和成本。
u 此外,生成报告是它们的一大优势。通过评估测试套件中有哪些测试用例失败了,运营人员能够更直观地执行各项任务。
u 此类测试也可以安排在预先指定的时刻被执行。
显然,我们应该在DevOps生命周期中不断尝试各种工具,形成持续测试阶段的习惯。如果您要问哪一款是我的最爱?我会告诉你:我会将它们组合起来使用。例如:我会用Selenium进行自动化测试,由TestNG生成报告,进而使用Jenkins触发持续集成。
不能显示该小部件。