GitLab CI/CD是GitLab内置的工具,用于项目持续集成、持续部署。GitLab CI/CD 由位于代码仓库根目录的名为.gitlab-ci.yml的文件配置。而此文件中设置的脚本由GitLab Runner执行。
Gitlab CI (持续集成)自动构建任务需编写配置文件 .gitlab-ci.yml
本书 通过GitLab CI/CD自动发布:
以本书的.gitlab-ci.yml为例:
1 | stages: |
其中,
stages 段落表示有 有两个构建阶段,标识分别是build 和 deploy
build段落,stage域(或属性)的值为 build, 表示这段脚本是上述build的具体执行过程
tags域为 dind-v19, 表示本阶段构建选择tag为dind-v19的gitlab runner,这是事先已注册的一个允许构建docker镜像的执行器,且这个执行器自身也是docker容器,即 docker in docker (dind)
build的script段:docker build 构建镜像 -> docker login 登录Docker Hub-> docker push 推送镜像至Docker Hub
only master 表示只接受master分支更新后触发CI
ansible-docker阶段的作用是远程登录目标机器拉取镜像、创建并运行容器