概念:
- CI/CD:持续集成/持续部署,简单来说就是将发布-测试-部署自动化,统一、规范开发流程。是敏捷开发理念、微服务架构的重要的一环。
- Gitlab:
- 网址:https://gitlab.com
- 简介:与Github类似,是一个git仓库托管网站。可以免费私有化仓库。并对仓库、分支可以进行用户权限管理。也支持私有化部署。
- Runner:
- 安装文档:https://docs.gitlab.com/runner/install/
- 简介:Gitlab用来实际执行各类指令的程序。Gitlab仓库settings -> CI/CD -> Runner标签中配置。
- .gitlab-ci.yml:
- 官方文档:https://docs.gitlab.com/ee/ci/yaml/README.html
- 简介:定义了Runner实际执行的指令。
简要流程
git提交之后,runner在runner目录中git checkout,根据配置的yml文件执行指定的脚本命令进行编译等等操作。
YML文件示例
stages:
- build
- test
- deploy
job1:
stage: deploy
script: cp ./* /home/confs/
tags:
- common deploy
解释:
- tags指定了使用哪一个runner执行job1任务。
- stages是自定义的流程,多个job会依次根据stages的顺序执行。
- 实际流程相当于:提交后 -> Runner目录中自动pull后 -> 将全部内容cp至实际项目目录。
注意事项
runner安装完成、启动之后,所属用户与用户组为gitlab-runner,因此不论是执行linux命令操作、git操作、docker操作等等,需要注意目标目录、程序等权限!
本篇文章由一文多发平台ArtiPub自动发布