1. 引言
在上家公司工作时,我提交代码到gitlab
上。主管在合并代码时,会自动化部署到服务器上,当时对这个很感兴趣,于是潜心研究gitlab
的自动化部署原理。
2. GitLab CI/CD概要
GitLab CI/CD
是一个内置在GitLab
中的工具,用于通过持续方法进行软件开发:
-
Continuous Integration (CI)
持续集成 -
Continuous Delivery (CD)
持续交付 -
Continuous Deployment (CD)
持续部署
持续集成的工作原理是将小的代码块推送到Git
仓库中托管的应用程序代码库中,并且每次推送时,都要运行一系列脚本来构建、测试和验证代码更改,然后再将其合并到主分支中。
持续交付和部署相当于更进一步的CI
,可以在每次推送到仓库默认分支的同时将应用程序部署到生产环境。
这些方法使得可以在开发周期的早期发现bugs
和errors
,从而确保部署到生产环境的所有代码都符合为应用程序建立的代码标准。
GitLab CI/CD
由一个名为.gitlab-ci.yml
的文件进行配置,改文件位于仓库的根目录下。文件中指定的脚本由GitLab Runner
执行。