标签:pre 定义 job1 script variables GitLab 作业 before
job
在每个项目中,使用名为.gitlab-ci.yml
的YAML文件配置GibLab CICD管道。在文件中可以定义一个或多个作业(job)。每个作业必须具有唯一的名称。每个作业是独立执行的。作业定义了在约束条件下进行相关操作,每个作业至少要包含一个script。
job1:
script: "execute-script-for-job1"
job2:
script: "execute-script-for-job2"
这里在pipeline中定义了两个作业,每个作业执行不同的命令。命令可以是shell或脚本
stages(阶段)
控制作业的顺序以及作业的并行运行
states:
- build
- test
job1:
state: build
script: echo 'job1'
job2:
state: test
script: echo 'job2'
job3:
state: test
script: echo 'job3'
job2和job3并行运行
.pre & .post
.pre始终是整个管道的第一个运行阶段,.post始终时整个管道的最后一个运行阶段。用户定义的阶段都在两者之间运行。.pre和.post的顺序无法更改。如果管道仅包含.pre或.post阶段的作业,则不会创建管道。
job1:
state: .pre
script: echo 'job1 pre stage'
script
每个作业至少包含一个script
job:
script:
- echo 1>a
- cat a
before_script
用于定义一个命令,该命令在每个作业之前运行。必须是一个数组。
before_script和主脚本在一个shell中执行,所以before_script失败会导致整个作业失败,其他作业将不再执行。作业失败不会影响after_script运行
可以定义全局脚本,也可以在作业中定义。当在作业中定义before_script,会替换全局before_script
after_script
定义的命令在作业之后运行,在新的shell中运行
variables
定义变量,可以定义全局变量,也可以在作业中定义
variables:
DOMAIN: meshop.com
标签:pre,定义,job1,script,variables,GitLab,作业,before 来源: https://www.cnblogs.com/fanfan-90/p/16192595.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。