跳至主要內容

GitLab CICD

LincZero大约 2 分钟

GitLab CICD

目录

入门

资料准备

参考资料:

关键术语:

  • CI,Continuous Integration,持续集成

    即在源代码变更后(git push)后自动检测(code lint)、构建和进行单元测试的过程,持续集成的目标是快速确保开发人员新提交的代码是好的(少bug)

  • CD,Continuous Delivery,持续交付

    通常是指整个流程链(管道),它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本(可以是apk打包,也可以是网站部署),基本上没有任何人为干预。它包括持续集成,持续测试(保证代码质量),持续部署(自动发布版本,供用户使用)。

  • 相似的工具

    有Jenkins、Travis CI、GoCD等

    • GitLab的CI/CD

      Gitlab的CI/CD算是比较简单的了,只需要依靠一份".gitlab-ci.yml",将该文件随代码上传,Gitlab就会自动执行相应的任务,从而实现CI/CD。

    • GitHub的CI/CD

      .github/workflows/CI.yml

    • 选用

环境准备

要使用Gitlab的CI/CD功能,一般有以下几种选择:

  • 第一,自己搭一套Gitlab,再加上部署自己的Runner(即实际执行代码的机器),推荐docker部署

  • 第二,使用公司/官方的Gitlab,且使用自带的Runner,即shared Runner, 见下图。

    图:https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2020/1/11/16f93345728eccb0~tplv-t2oaga2asx-jj-mark:3024:0:0:0:q75.awebp

link: juejin.cn/post/684490…open in new windowwww.xuxusheng.com/post/使用Dock…open in new windowdocs.gitlab.com/runner/inst…open in new window

Gitlab-ci 编写

.gitlab-ci.yml遵循YAML文件的语法,这份文件记录了你想要执行的各种指令,这些指令可以用来对你的代码进行规范检查(例如PEP8)、自动打包(例如Android自动打包)、自动部署等。

对于新手,如果不知道自己写的.gitlab-ci.yml是否有错误,可以通过Gitlab自带的CI Lint进行检查。

本文使用版本:GitLab Community Edition 12.5.6-ee