在持续集成和持续交付静态代码分析(CI / CD)

在过去的20年中,移动等技术的进步,智能设备,物联网,云导致数以百万计的新应用程序的创建。更快地开发应用程序的质量和可预测性,公司正在发展自己的软件开发过程。在2000年代早期,敏捷软件开发“轻量级”开始流行。敏捷软件开发是一个迭代的过程,重视合作,持续的计划,和连续测试。

持续集成和交付(CI / CD)是灵活的扩展,主要是集中在所需的工具和过程集成代码和测试和软件交付自动化。CI / CD是越来越受欢迎,因为它使更快的应用程序开发和交付。

图的CI / CD工作流

持续集成(CI)是什么?

持续集成是一个开发实践,开发者将他们的代码集成到一个共同的主线一天几次。有几个优势在增量开发和集成代码。因为每个代码增量没有分化从主线,合并快速,不易出错,找到缺陷是容易得多。在CI工作流中,开发人员首先在本地测试新的或修改过的代码(在上面的图步骤1),然后将代码集成到主线(步骤2),最后,验证CI构建(步骤3)和自动化测试(步骤4)已经成功通过了。开发人员解决构建或测试失败之前他们继续下一个任务。

持续交付(CD)是什么?

一旦CI构建和自动化测试成功完成,团队可以决定自动释放软件投入生产。这种做法的自动化整个发布过程称为持续交付(步骤5在上面的图)。CI是实现CD的先决条件,但根据业务需求,团队可能决定不实现CD。

CI / CD的好处

以下是采用CI或CI / CD的关键好处:

  1. 降低风险——开发和交付增量减少项目风险。
  2. 更好的沟通——所有的代码在主线上修改了代码,促进代码共享和协作。
  3. 快速和成本效益——小增量减少合并代码所需的时间和精力和缺陷更容易检测和修复。
  4. 提高了生产率——过程完全自动化,消除耗时且容易出错的体力活动,如手工测试。
  5. 更大的一致性和质量-自动化测试提供更大的可预测性、可重复性和可靠的输出。

静态代码分析必不可少的CI是为什么呢?

静态代码分析工具找到代码缺陷未执行程序的情况下通过检查代码。因此,静态代码分析已经成为必不可少的一部分CI,因为:

  1. 非常有效的识别等数百种缺陷并发、数据流、动态内存和数值的缺陷。
  2. 它发现的缺陷在开发周期的早期,也就是说,只要编写代码或修改。
  3. 它验证符合MISRA - C等编码标准®MISRA c++, JSF + +,和自定义的命名约定。
  4. 它发现安全漏洞和检查依从性等安全标准证书®C, c++ CERT、ISO 17961和MISRA - C: 2012修正案。
  5. 通过使用正式的方法,它可以证明没有溢出的情况下,除界外数组访问和其他运行时错误。

Polyspace®静态代码分析产品设计在CI工作,可以很容易下载188bet金宝搏地使用CI工具自动化如詹金斯™和竹子。

Polyspace代码验证™使用正式的方法来证明缺乏关键运行时错误在所有可能的控制流和数据流。代码证明可以与CI构建集成测试(步骤4在上面的CI工作流图)测试软件的鲁棒性。

违反Polyspace错误发现者™检查编码规则,安全漏洞,数以百计的其他类的Bug和计算代码度量。开发人员可以使用Polyspace错误发现者找到缺陷和之前检查坚持编码标准提交他们的代码(即。步骤1,在上面的CI工作流图)。Polyspace Bug仪也可以与CI构建集成测试(步骤4在上面的图)来分析整个应用程序。

Polyspace产品的更多信息,以及如何将它们集成在CI,请访问:下载188bet金宝搏