持续交付流水线的作用包括以下几点:1、接管和屏蔽底层环境的差异;2、自动化流程引擎;3、挂载执行分层分级的流水线任务。流水线也是“持续稳定可重复的提供高质量的价值”的重要不可或缺的实践,服务于持续交付。
持续交付流水线的作用包括接管和屏蔽底层环境的差异、自动化流程引擎以及挂载执行分层分级的流水线任务。流水线也是“持续稳定可重复的提供高质量的价值”的重要不可或缺的实践,服务于持续交付。
流水线确保代码和基础设施始终处于可部署状态,所有提交到主干的代码都可以安全的部署到生产环境。虽然没有标准流水线这样的东西,但典型的持续交付流水线包括以下阶段:构建自动化、持续集成、测试自动化和部署自动化。
1、自动化构建
流水线首先会构建可执行文件来创建可交付成果,构建后的交付成果被传递到后续阶段。开发人员实现的新特性被持续集成到代码库中,并被构建和进行单元测试。并形成最直接的反馈循环,它可以通知开发团队其应用程序代码的健康状况。
2、自动化测试
在测试自动化中,新版本的应用程序经过严格各项自动化测试,包括功能自动化测试,性能测试,压力测试等,以确保其达到所有预期的应用质量。通过流水线验证所有相关方面极为重要 – 无论是功能、安全性、性能或合规性。该阶段可能涉及不同类型的自动或手动测试。
3、持续集成
持续集成是软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误,其中包括代码扫描、Code Review、自动化测试。“快速失败”,在对应用没有风险的情况下进行大量测试,并快速响应;最大限度地减少风险,降低修复错误代码的成本;将重复性的手工流程自动化,保持频繁部署,快速生成可部署的软件。
4、自动化部署
每次将应用程序在开发环境,测试环境,准生产环境中都需要进行部署,但部署自动化的最关键时刻是生产环境。由于前面的阶段已经验证了应用的整体质量,所以部署已是一个低风险的步骤。部署可以分阶段,可以将新版本最初只发布到生产环境的一部分,而非全部,并在完全上线之前进行监控。确认没有问题后再全部发布到生产环境。部署是自动化的,如果需要,它可以在几分钟内为用户提供可靠的新功能
延伸阅读:
什么是流水线
流水线这个词起源于福特公司,1913年,福特公司在汽车城底特律市建成了世界上名列前茅条汽车装配流水线,使T型车成为大批量生产的开端,汽车装配时间从12.5小时缩短到1.5小时,售价从开始的一辆850美元,最后降到360美元。
而部署流水线是指软件从版本控制库到用户手中这一过程的自动化表现形式。我们知道软件的每一次变更都会经历一个复杂的流程才能发布,这优异程包括软件的构建以及后续的一系列的测试和部署,而部署流水线相当于是在给这一过程进行建模。
本文来自投稿,不代表Worktile社区立场,如若转载,请注明出处:https://worktile.com/kb/p/30516