工作流语法
version
必填 Gokins的工作流yml版本,目前固定为1.0
示例一:
系统变量
在流水线配置界面中定义的变量,可定义私密变量仅可编辑流水线的人才能查看.
此变量优先级低于vars,所以可在vars里面使用 ${{xxx}} 引用
vars
工作流变量,可以在工作流中使用,语法为 ${{xxx}}
示例: 添加变量到工作流
1 2 3 4
| version : 1.0 vars: Hello: hello
|
示例: 在工作流中使用变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| version: 1.0 vars: Hello: hello stages: - stage: name: 使用变量 displayName: 使用变量 steps: - step: shell@sh name: build displayName: 这是一个变量示例 env: commands: - echo ${{Hello}}
|
stages
必填 构建阶段,工作流运行一个或者多个阶段。 阶段是顺序运行作业。
stages.stage
必填 构建阶段,工作流运行一个或者多个阶段。
示例: 多个阶段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| version: 1.0 vars: Hello: hello stages: - stage: name: 第一个构建阶段 displayName: 第一个构建阶段 steps: - step: shell@sh name: stage1 displayName: 第一个构建阶段的第一个构建步骤 env: commands: - echo ${{Hello}} - echo frist stage - stage: name: 第n个构建阶段 displayName: 第n个构建阶段 steps: - step: shell@sh name: stagen displayName: 第n个构建阶段的第n个构建步骤 env: commands: - echo ${{Hello}} - echo n stage
|
stages.stage.name
必填 构建阶段名称,是工作流中的唯一ID,在一个工作流中不能有name
相同的stage
。
示例一:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| version: 1.0 vars: Hello: hello stages: - stage: name: Build1 displayName: Build1 steps: - step: shell@sh name: Step1 displayName: 第一个构建阶段的第一个构建步骤 env: commands: - echo frist stage
|
stages.stage.displayName
构建阶段描述,用于描述构建阶段的用途。
示例一:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| version: 1.0 vars: Hello: hello stages: - stage: name: Build1 displayName: 用来构建的第一个stage steps: - step: shell@sh name: Step1 displayName: 第一个构建阶段的第一个构建步骤 env: commands: - echo frist stage
|
stages.stage.stpes
必填 构建阶段中的构建步骤,一个构建阶段包含一个或者多个构建步骤。
示例: 多个构建步骤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| version: 1.0 vars: Hello: hello stages: - stage: name: 第一个构建阶段 displayName: 第一个构建阶段 steps: - step: shell@sh name: stage1 displayName: 第一个构建阶段的第一个构建步骤 env: commands: - echo ${{Hello}} - echo frist stage - stage: name: 第n个构建阶段 displayName: 第n个构建阶段 steps: - step: shell@sh name: stagen displayName: 第n个构建阶段的第n个构建步骤 env: commands: - echo ${{Hello}} - echo n stage
|
stages.stage.stpes.step
必填 构建阶段中的构建步骤,一个构建阶段包含一个或者多个构建步骤。 构建步骤默认是并行执行的,如果您需要串行执行,您可以使用 stages.stage.stpes.step.wait
关键词在其它步骤上进行依赖。
stages.stage.stpes.step.name
必填 构建步骤名称,是stages.stage.stpes
中的唯一ID,在一个stages.stage.stpes
中不能有name
相同的stpe
。
示例: 多个构建步骤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| version: 1.0 vars: Hello: hello stages: - stage: name: 第一个构建阶段 displayName: 第一个构建阶段 steps: - step: shell@sh name: stage1 displayName: 第一个构建阶段的第一个构建步骤 env: commands: - echo ${{Hello}} - echo frist stage - stage: name: 第n个构建阶段 displayName: 第n个构建阶段 steps: - step: shell@sh name: stagen displayName: 第n个构建阶段的第n个构建步骤 env: commands: - echo ${{Hello}} - echo n stage
|
stages.stage.stpes.step.displayName
构建步骤描述,用于描述构建步骤的用途。
示例一:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| version: 1.0 vars: Hello: hello stages: - stage: name: Build1 displayName: Build1 steps: - step: shell@sh name: Step1 displayName: 第一个构建阶段的第一个构建步骤 env: commands: - echo frist stage
|
stages.stage.stpes.step.env
构建步骤的环境变量,可以使用 ${} 获取系统环境变量。
示例: 构建步骤中使用步骤环境变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| version: 1.0 vars: stages: - stage: name: Build1 displayName: Build1 steps: - step: shell@sh name: Step1 displayName: 第一个构建阶段的第一个构建步骤 env: step1Ens: fStep commands: - echo ${step1Ens}
|
stages.stage.stpes.step.commands
必填 commands
允许您给构建步骤添加执行脚本。运行脚本都是串行的顺序执行。
示例: 构建步骤添加执行脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| version: 1.0 vars: stages: - stage: name: Build1 displayName: Build1 steps: - step: shell@sh name: Step1 displayName: 第一个构建阶段的第一个构建步骤 env: commands: - echo 1 - echo 2 - echo 3 - sleep 3s - ls -lh
|
stages.stage.stpes.step.wait
wait
字段将会使构建步骤依赖于其他步骤执行完毕后执行
示例: 依赖其它构建阶段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| version: 1.0 vars: stages: - stage: name: Build1 displayName: Build1 steps: - step: shell@sh name: Step1 displayName: 第一个构建阶段的第一个构建步骤 env: step1Ens: fStep commands: - echo ${step1Ens} - sleep 3s - step: shell@sh name: Step2 displayName: 第2个构建阶段的第2个构建步骤 env: wait: - Step1 commands: - echo wait Step1 - sleep 3s - step: shell@sh name: StepN displayName: 第n个构建阶段的第n个构建步骤 env: wait: - Step2 commands: - echo wait Step2
|
stages.stage.stpes.step.artifacts
工作流中产生的制品,您可以通过artifacts
上传到制品库
更多的制品库信息,请参见制品库
示例: 生产制品
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| version: 1.0 vars: stages: - stage: name: artifactStage displayName: artifactStage steps: - step: shell@sh name: artifactStep displayName: artifactStep env: commands: artifacts: - scope: repo repository: svianvyd name: npxpublic path: ./public
|
stages.stage.stpes.step.useArtifacts
构建步骤中允许您通过useArtifacts
在步骤中使用制品库的制品
更多的制品信息,请参见制品
示例: 生产制品
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| version: 1.0 vars: stages: - stage: name: artifactStage displayName: artifactStage steps: - step: shell@ssh name: publish displayName: artifact publish input: host: ${{SITE_HOST}} user: ${{SITE_USER}} pass: ${{SITE_PASS}} workspace: ${{SITE_PATH}} useArtifacts: - scope: repo repository: svianvyd name: npxpublic alias: publicdir isUrl: true path: public commands: - unzip -o -O UTF-8 public.zip
|