1. .gitlab-ci.yaml

2021-08-18  本文已影响0人  shark_tear

这两天工作上在研究Gitlab的CI/CD,根据目前了解到的知识点来看。Gitlab的CI/CD是从一个代码仓库根目录下的.gitlab-ci.yaml文件作为入口。在这个文件中定义了CI/CD的各个阶段以及在每个阶段中要做的各种工作。

先给出一个示例文件的内容,然后根据示例文件的内容来说一下这个文件的组织结构:

stages:
  - build
  - test

build-code-job:
  stage: build
  script:
    - echo "Check the ruby version, then build some Ruby project files:"
    - ruby -v
    - rake

test-code-job1:
  stage: test
  script:
    - echo "If the files are built successfully, test some files with one command:"
    - rake test1

test-code-job2:
  stage: test
  script:
    - echo "If the files are built successfully, test other files with a different command:"
    - rake test2

上面是gitlab官方给出的一个示例文件,整个文件分为两个部分:

对于一个完整的CI/CD来说应该包含4个阶段,即:

而实际的使用中,则是会根据你自己的环境来进行取舍。例如对于一些小公司,根本没有预发布环境,那么测试通过就会直接发布到正式环境上。而有些公司可能根本没有测试的岗位,在 build完毕后,就发布到测试环境,由开发直接进行调测,调测通过后就发布到正式环境。

流水线的阶段和每个阶段的任务定义好以后,在默认情况下,如果有开发人员往这个仓库里提交代码,就会触发对应的流水线。之后就按照定义的阶段依次执行各个阶段里的任务,目前知道的执行任务的规则是:

流水线中的任务是被流水线关联的Runner获取并执行的,在昨天发布的文章里说到了一些Runner的基础知识,说过在流水线里是通过Runner的名称或者Tag来调用Runner的。

以上就是.gitlab-ci.yaml文件相关的基础知识,在看了这些基础东西后,留下了很多疑惑等待探索:

后面会继续学习这个工具的使用,并继续分享学习的笔记。

上一篇 下一篇

猜你喜欢

热点阅读