CI/CD
软件开发的最终目标是快速,高质量的交付客户价值。
行业实践证明,持续集成(continuous integration),持续交付(continuous delivery)是微服务交付的最佳实践。
CI:开发人员将代码提交到版本控制系统(gitlab)以后,将后续的软件构建,单元测试,集成测试 etc.这些环境尽可能的自动化,并将最终生成的交付件,提交到交付件仓库。CI自动化常用工具:Jenkins。
CD:当交付件生成以后,能够尽可能自动化的,将交付件依次发布到测试环境,准生产环境(UAT),生产环境,发布遵循升级流程,保证高质量的交付。
如果将CI/CD的相关工具集成起来,再配合企业软件交付的治理流程,所组成的软件交付链路,就称为CI/CD流水线 - CI/CD Pipeline。
各个公司的实践(工具,流程)有可能不同,有些公司不严格区分CI和CD,一个流程可以全部走完。
有些公司CI、CD是严格分为两个阶段,以交付件仓库