部署流水线
2013年5月30日
自动化构建和测试环境的挑战之一是您希望构建速度快,以便获得快速反馈,但全面的测试需要很长时间才能运行。 部署流水线是一种通过将构建分解成多个阶段来解决此问题的方法。 每个阶段都提供越来越高的信心,通常以额外的时间为代价。 早期阶段可以发现大多数问题,从而产生更快的反馈,而后期阶段则提供更慢、更彻底的探测。 部署流水线是持续交付的核心部分。
通常,部署流水线的第一个阶段将进行任何编译并为后续阶段提供二进制文件。 后续阶段可能包括手动检查,例如任何无法自动化的测试。 阶段可以是自动的,也可以要求人工授权才能继续,它们可以并行化到多台机器上以加快构建速度。 部署到生产环境通常是流水线的最后阶段。
更广泛地说,部署流水线的工作是检测任何会导致生产环境出现问题的变化。 这些问题可能包括性能、安全或可用性问题。 部署流水线应使参与交付软件的各个团队之间能够进行协作,并让每个人都能够了解系统中变更的流程,以及完整的审计跟踪。
引入持续交付的一个好方法是将您当前的交付流程建模为部署流水线,然后检查其中的瓶颈、自动化机会和协作点。