GitLab介绍
GitLab 是由GitLab Inc. 开发,一款基于Git的完全集成的软件开发平台。另外,GitLab还具有Wiki以及在线编辑、issue跟踪功能、CI/CD等功能
CI/CD
GitLab CI/CD是GitLab内置的一款工具,用于通过[[持续方法论]]的软件开发。该持续方法论包含三个部分:[[持续集成]]、[[持续交付]]、[[持续部署]]
持续集成(Continuous Integration,简称CI),每次在上传代码块到基于Git仓库时,持续集成会运行脚本去构建、测试、校验代码,这些操作是在合并到默认分支之前进行的。
持续交付(Continuous Delivery,简称CD),在持续集成之后(即合并到默认分支之后),持续交付将进行手动部署应用。
持续部署(Continuous Deployment,简称CD),在持续集成之后(即合并到默认分支之后),持续部署将进行自动部署应用
当开发者配置了 GitLab CI/CD,那么当开发者使用 git 提交(commit),那么就会触发 CI/CD 相关的一系列操作。 这一系列操作由 [[#GitLab Runner]] 执行,相关配置记载于.gitlab-ci.yml文件中,执行的结果将在Gitlab页面中展示。每一次的提交(commit)将会出发一条流水线(pipeline),流水线是不同阶段(Stage)的任务(Job)的一个集合。阶段(Stage)用于逻辑切割,同一阶段的任务以并行方式执行,阶段间是顺序执行,上一个阶段执行失败,下一个阶段将不会执行。 .pre 为第一阶段(译为:之前) 和 .post 最后阶段(译为:提交时),这两个阶段不需要被定义,也无法被修改。
示例可参考 [[GitLabCI-CD示例#GitLab-ci yml示例]]
GitLab Runner
GitLab Runner 是一项[[开源]]项目,用于执行任务(Job),并将执行结果传输回Gitlab。
Runner 可安装在操作系统,也可以通过Docker的方式安装。当 Runner 安装后,需要将其注册在 GitLab 中,方可使用。Runner 有若干种执executor可供使用,如:Docker、Shell、SSH。Runner 默认使用Shell,Shell模式下,所有构建都会发生在Runner安装的机器中,操作十分简单,但是缺点很多。 .gitlab-ci.ym 文件中通过 tags 关键词选择Runner。Runner 的相关配置在 config.toml 文件中记载。
最后更新于