DevOps是Development和Operations的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。以期打破传统开发和运营之间的壁垒和鸿沟。Git更是现在日常开发必不可少的代码管理工具。本文主要介绍使用GitLab 来做项目CI/CD。
传统的 CI/CD:搭建一个 Jenkins,在 Jenkins 配置好基本的环境,如 Java, Maven, Git 等等,接着开始配置任务,项目 A 的代码在哪里?怎么 Build?项目 B 的代码在哪里?怎么 Build?触发周期是多少?细节挺多的,通常需要专门的管理员去维护这个 Jenkins。
Travis CI/CD 颠覆了这种模式,在 Travis CI 的模式中,开发在源码根目录下放置 CI 的配置(通常是一个 yml 文件,描述了基本的 build 命令),Travis 会解析这个文件然后执行具体的 CI 任务。
GitLab CI/CD 实际上就是照搬了 Travis CI 的模式,它只需要开发者在自己需要 CI 的代码库中放一个 .gitlab-ci.yml 文件即可完成自己的CI任务配置
代码提交到 GitLab 了,git push 之后直接触发 CI/CD。
GitLab CI/CD 运行示意图如下所示:

下面分别简单介绍**.gitlab-ci.yml** 编写,以及GitLab Runner安装与运行
.gitlab-ci.yml主要描述了CI/CD任务的执行顺序,主要包括以下两个方面:
一个 .gitlab-ci.yml 主要由default、variables、stages、 jobs 构成,示例如下: