侧边栏壁纸
  • 累计撰写 106 篇文章
  • 累计创建 19 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

五、GitLab Pipeline中基本语法(一)(DevOps笔记)

zero
2022-10-30 / 0 评论 / 0 点赞 / 39 阅读 / 4826 字
温馨提示:
本文最后更新于 2024-07-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

流水线语法检测

  • GitLab CI的每个实例都有一个称为Lint的嵌入式调试工具,该工具可以验证.gitlab-ci.yml文件的内容。

五、GitLab Pipeline中基本语法(一)(DevOps笔记)-图片一.png

1、job

在每个项目中,使用名为.gitlab-ci.yml的YAML文件配置GitLabCI/CD管道。在文件中可以定义一个或者多个作业(job)。每个作业必须具有唯一的名称(不能使用关键字),每个作业是独立执行的。作业定义了在约束条件下进行的相关操作,每个作业至少要包含一个script。

job1:       
  script:: echo "Compiling the code..."

job2:   
  script: echo "Running unit tests... This will take about 60 seconds."

这里在pipeline中定义了两个作业,每个作业运行不通的命令。命令可以是shell或者脚本。

2、script

每个作业至少要包含一个script。

job:   
  script:
    - echo "Running unit tests... This will take about 60 seconds."
    - sleep 60
    - echo "Code coverage is 90%"

注意:有时,script命令将需要用单引号或双引号引起来,例如,包含冒号命令(:)需要加引号,以便被包裹的YAML解析器知道来解释整个事情作为一个字符串,而不是一个"键: 值"对。使用特殊字符时要小心 : , { , } , [ ,] , ; , & , * , # , ? , | , - , < , > , = , ! , & , @ 。

3、before_script

用于定义一个命令,该命令在每个作业之前运行,必须是一个数组,指定的script与主脚本中指定的任何脚本串联在一起,并在单个shell中一起执行。

before_script失败导致整个作业失败,其他作业将不再执行。作业失败不会影响after_script运行。

五、GitLab Pipeline中基本语法(一)(DevOps笔记)-图片二.png

4、after_script

用于定义将在每个作业(包括失败的作业)之后运行的命令。
这必须是一个数组。
指定的脚本在新的shell中执行,与任何before_script.或script脚本分开。

after_script失败不会影响作业失败。

五、GitLab Pipeline中基本语法(一)(DevOps笔记)-图片三.png

5、stages

用于定义作业可以使用的阶段,并且是全局定义的。
同一阶段的作业并行运行,不同阶段按顺序执行。

stages:
  - build
  - test
  - codescan
  - deploy

五、GitLab Pipeline中基本语法(一)(DevOps笔记)-图片四.png

6、.pre&.post

.pre始终是整个管道的第一个运行阶段,.post始终是整个管道的最后一个运行阶段。用户定义的阶段都在两者
之间运行。.pre和.post的顺序无法更改。如果管道仅包含.pre或.post阶段的作业,则不会创建管道。

五、GitLab Pipeline中基本语法(一)(DevOps笔记)-图片五.png

7、stage

是按JOB定义的,并且依赖于全局定义的stages。它允许将作业分为不同的阶段,并且同一stage作业可以并行执行(取决于特定条件)。

五、GitLab Pipeline中基本语法(一)(DevOps笔记)-图片六.png

8、variables

定义变量,pipeline变量、job变量。job变量优先级最大。

0

评论区