什么是 Gitlab CI/CD
持续集成 CI(Continuous Integration):在源代码变更后,触发自动检测、构建和测试的过程。在代码提交后,会自动进行构建和测试,并反馈结果。当结果符合预期时,再将代码集成到主干。持续集成的目标是快速确保当前变更是可用的。
持续交付 CD(Continuous Delivery):是基于持续集成基础上,将集成后的代码自动化部署到各个环境测试,确定可以发布生产版本。
持续部署 CD(Continuous Deployment):是基于持续交付的基础上,将在各个环境经过测试的应用自动化部署到生产环境。其实各个环境的发布过程都是一样的。应用发布到生产环境后,我们需要对应用进行健康检查、添加应用的监控项、 应用日志管理。
我们先来看一看没有自动化的项目开发部署的流程:
首先是开发人员完成代码开发
然后进行代码构建
构建完成后打包静态文件
将打包后的文件上传到发布服务器中,填写相关信息进行发布
我们会发现,每次的发布部署都需要重复的进行上述操作,而 CI/CD 的理念就是将这一重复性操作进行自动化处理。
如上图所示,在提交代码到 gitlab 中时,满足指定条件时,就会触发 pipeline 进行代码的自动构建、测试和发布。
Gitlab CI/CD 整体流程
gitlab-ci 的 Pipline 具体流程和操作,是在项目根目录下的 .gitlab-ci.yml 文件中配置声明的。触发 Pipline 运行之后,gitlab-runner 会根据配置的 .gitlab-ci.yml 文件进行执行,执行结果会显示在 gitlab 中。
.gitlab-ci.yml:用于定义 CI/CD 流程分为几个阶段,每个阶段需要执行哪些任务
gitlab-runner: 是 CI 的执行环境
.gitlab-ci.yml 配置说明
KEYWORD | REQUIRED | DESCRIPTION |
---|