当前位置: 首页 > 科技观察

持续交付要实现的8个关键点

时间:2023-03-16 22:46:24 科技观察

1.对所有生产工件使用版本控制版本控制是将所有生产工件纳入版本控制系统(如GitHub或Subversion)管理,包括应用代码、应用配置、系统配置和自动构建和配置环境的脚本。2.自动化部署过程部署自动化是指部署完全自动化,不需要人为干预的程度。3.实施持续集成持续集成(CI)是持续交付的第一步。这是一种定期签入代码的开发实践,每次签入都会触发一组快速测试以发现严重的回归,开发人员会立即修复这些问题。CI过程将创建规范的构建和包,最终将被部署和发布。4.使用基于主干的开发方法基于主干的开发模型已被证明可以在软件开发和交付中实现高性能。它的特点是代码库中的活动分支少于三个。在合并到主分支之前生命周期非常短(例如,不到一天)的分支;应用程序团队很少或从未有过“代码锁定”期,在这种情况下,由于合并冲突、代码冻结或稳定阶段,没有人可以退出输入代码或执行拉取请求。5.实施测试自动化测试自动化是在整个开发过程中连续自动(而不是手动)运行软件测试的做法。有效的测试套件是可靠的,也就是说,测试会捕获真正的故障并且只通过可发布的代码。请注意,开发人员应主要负责创建和维护自动化测试套件。6.支持测试数据管理测试数据需要精心维护,测试数据管理已经成为自动化测试中越来越重要的部分。行之有效的方法包括拥有足够的数据来运行您的测试套件、按需获取必要数据的能力、在管道中调节测试数据的能力,以及不限制可运行测试数量的数据。但是,我们提醒团队应尽量减少运行自动化测试所需的测试数据量。7.将安全性左移将安全性集成到软件开发过程的设计和测试阶段是提高IT性能的关键。这包括对应用程序进行安全审查,包括在应用程序设计和演示期间的信息安全团队,使用预先批准的安全库和包,以及测试安全功能作为自动化测试套件的一部分。8.实施持续交付(CD)CD是一种开发实践,其中软件在其整个生命周期中保持可部署状态,团队优先考虑将软件保持在可部署状态,而不是开发新功能。所有团队成员都可以获得有关系统质量和可部署性的快速反馈,并且当他们收到系统不可部署的报告时,他们可以快速进行修复。最后,系统可以根据需要随时部署到生产或最终用户。