已阅读

CI/CD管道中的更改无极4平台

作者:无极4平台      来源:无极4平台      发布时间:2019-12-05

无极4彩官网


通过持续集成/持续交付(CI/CD)环境获得的一个核心优势是能够获得来自用户基础的即时反馈。理论上,无极4彩官网这使软件开发团队能够“动态地”开发应用程序的功能,将每个新特性放入“主”源代码树的“分支”中。

在Forrester的《2019年第四季度软件持续交付的技术潮流》报告中,这家分析公司表示,采用这些技术是提高开发团队效率、敏捷性和业务一致性的关键一步。

Forrester分析师Diego Lo Giudice写道:“从冗长的前期计划和手工重复的开发步骤中解脱出来可以节省团队的时间和金钱。”“它使他们能够在较小的变化上快速迭代,并采用新的实践,比如创建最小的可行产品。”

Lo Giudice说,应用程序开发和部署团队可以快速获得客户反馈,以评估他们的工作是否交付了他们期望的业务价值。“如果没有,持续软件交付(CSD)允许团队灵活地重新定向他们的工作,并更快地交付业务价值,”他写道。

计算机周刊开发人员网络最近发表了许多来自行业专家的客座博客文章,探讨当代CI/CD实践和方法。专家们一致认为,CI/CD和DevOps之间有很强的联系。

Perforce Software产品和解决方案咨询副总裁Ido Benmoshe表示,CI/CD与敏捷迭代开发是一致的。然而,它是一个构建、测试和发布自动化过程,是敏捷开发过程的补充。Benmoshe说:“开发中的小增量使CI/CD更有效,并允许更快的反馈。”

根据Paul Farrington,欧洲、中东和非洲(EMEA)在Veracode的CTO的说法,在实际的生产环境中,不同的CI/CD发布模式对于DevOps团队来说是非常强大的。例如,他说,可以通过特性标记和路由规则来控制独立的代码,这些标记和路由规则限制了多少用户体验新代码。“金丝雀发布模式”是一种流行的示例技术,因为它允许在一天的任何时间进行部署,但是用户体验是经过精心控制的,因此,最初只有少数用户可以接触到新功能。通过查看日志中出现的错误的脚本,可以控制用户流量的逐渐增加。

“根据某些测试,可以自动暂停或回滚,无需在半夜呼叫工程师,”Farrington说。这些测试可能还包括自动安全扫描,例如使用动态分析,如果在主登录页面上发现SQL注入缺陷,则可以对回滚进行“投票”。

“一旦隔离的代码在发布过程中通过了一系列测试,并投入生产,加入无极4那么如果负测试结果低于指定的阈值,它就可以继续存在。”

CI/CD依赖于在部署代码之前通过自动化工作流(称为管道)来运行软件测试和质量保证的新功能。在这个流程的任何阶段,工作都可以回滚,或者,用行业术语来说,“左移”——回到负责工作流上一步的个人团队。

Farrington说,开发人员通常编写单元测试来帮助验证软件功能的正确性。它们的复杂度可能不同,但本质上应该是确定性的。这样的测试可以用来验证一个函数是否正确地对输入进行了恰当的求和,或者是否按照预期的方式对一系列数据点进行了排序。“由于它们的特性,单元测试通常运行得很快,并且是构建过程的一个正常部分,很适合CI/CD管道,”他补充说。

根据Farrington的经验,开发人员越来越多地使用工具对代码更改执行安全单元测试。他说功能测试也可以在CI/CD管道中进行,但是需要更多的时间来完成。“根据项目的性质,开发团队可以选择在部署之后执行一些功能测试,同时保留在需要时回滚版本的能力,”他说。

《计算机周刊》建议应用程序团队使用尽可能小的代码增量来启动CI管道。GitLab的产品管理、CI/CD主管贾森•莱尼表示:“较小的变化意味着,代码更容易审查、更容易测试,在出现问题时更容易回滚。这可以减少生产中的bug和缺陷。但是如果你没有进行回顾,没有进行充分的测试,没有进行监控,不知道什么时候回滚,无极4平台那么你就不会意识到这些好处。”