传统应用发布模式
开发人员:在开发环境完成代码编写,单元测试,测试通过后提交到代码仓库
运维人员:把项目部署到测试环境,供QA团队测试,测试通过后,部署生成环境
测试人员:进行测试,测试完成后通知运维部署生产环境
缺点
1.项目在早期就存在错误,但到最后集成的时候才发现
2.需要手动操作,易错率高
3.开发与运维需要及时沟通 有了以上缺点,那么就有了CI/CD
CI/CD
持续集成(CI):
1.合并开发人员正在编写的所有代码
2.一天内进行多次合并和提交代码
3.从存储库或生产环境中进行构建和自动化测试,确保没有集成问题并及早发现任何问题
持续交付(CD):
1.可以通过将更改自动推送到发布系统来随时将软件发布到生产环境中
2.持续部署,并自动将更改推送到生产中
GitLab内置CI/CD
运行流水线任务
Job
在文件中可以定义一个或多个作业,每个作业具有唯一的名称,每个作业是独立执行的,每个作业至少包含一个script
stages:
用于定义作业可以使用的阶段,并且是全局定义,同一个阶段的作业并行运行,不同阶段按顺序运行
only:
用分支策略来限制job