Gitlab CI/CD
开发者推送、提交代码到Gitlab,Gitlab通过项目的 .gitlab-ci.yml 文件配置,找到指定的项目gitlab runner,runner运行相关的命令,进行编译、 集成、测试、交付、部署,一切顺利地话会分发到各个服务器(测试服务器、预发布服务器、正式服务器等),此时一个迭代开发上线流程走完。
GitLab Runner
GitLab Runner是一个开源项目,用于运行项目持续集成、持续部署作业并将结果发送回GitLab,与GitLab CI/CD一起使用。GitLab Runner是用Go编写的,可以作为单个二进制文件运行,不需要语言特定的要求,运行在Linux,macOS和Windows操作系统上。只要您可以在其上编译Go二进制文件,其他操作系统可能会起作用,也可以运行在Docker上。
流程摸索
经过一段时间的摸索,总结了一套常用的 CI 流程:
- 首先需要在项目的根目录下创建 .gitlab-ci.yml 文件,该文件描述了整个 CI 流程将要做什么事情。是 CI 流程的核心配置文件
- 在测试、预发、生产三个环境的打包服务器上安装 Gitlab Runner,并分别注册一个 runner。这些 runner 是用来执行具体任务的,比如安装依赖、打包、执行单元测试等等
- 当你 push 代码到开发分支 xxx.feature.dev 时,GItlab 服务器会判断项目中有没有 .gitlab-ci.yml 文件,如果有便会触发 CI 流程。然后根据该文件的配置,去通知测试环境的打包服务器上的 runner,执行
- npm install 安装依赖
- npm run test 编译打包,为了更好的排查问题,测试环境可以不用压缩 js