引言
这是一个系列的文章,讲述的是一个中小型开发团队如何从零开始使用搭建基建 GitLab 代码托管平台,以及使用 GitLab Runner 实现 CI/CD 的故事。本系列通过部署一个完整的 .net core 项目来做配合实战,可能这个案例并不能适合每个人,但希望可以给刚接触 GitLab 以及 CI/CD 的小伙伴带来一些启发。对 GitLab 以及 CI/CD 有一定了解的,可以略过本文,直接开启下一章。
Gitlab CI&CD 是什么?
如上官方图示,可以理解为 Gitlab 给开发者提供了一项功能,在代码提交后自动触发一段开发者自定义的脚本,以此来完成诸如但不限于构建部署的工作。完成一次项目发布我们通常需要以下 4 个步骤:
编译
测试
构建
部署
编译
在编译阶段我们是运行 dotnet build 进行包还原以及项目编译,这里还可以包含团队的代码风格检查
测试
测试阶段主要跑我们自己写的单元测试,题外话:测试也挺难写的
构建
将我们测试通过的项目打包成 docker 镜像,上传到镜像仓库
部署
从镜像仓库上拉取我们镜像,部署到集群上,这里后面我们使用 docker-compose 部署
准备工作
我们这里需要做的事情串起来就是,代码提交到 gitlab,触发平台的 CI/CD 任务,开始编译代码,运行测试,打包镜像并上传镜像,最后部署应用。
安装 GitLab
version: “3”
services:
gitlab:
image: gitlab/gitlab-ce:13.1.2-ce.0
container_name