.gitlab-ci.yml关键词概览解析(三)

本文详细介绍了.gitlab-ci.yml中剩余的8个关键词,包括allow_failure、coverage、pages、release、resource_group、retry、timeout和variables的用法和应用场景。allow_failure允许任务失败而继续执行,coverage用于跟踪代码覆盖率,pages用于托管静态网站,release用于创建项目发布,resource_group确保任务按顺序执行,retry设置任务重试次数,timeout设定任务超时时间,variables用于定义和使用变量。这些概念帮助理解并优化GitLab流水线配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于如何编写极狐GitLab流水线,.gitlab-ci.yaml文件的关键词,已经写过两期了,gitlab-ci.yaml的关键词一共有28个,分别是
分别是,
script, after_script, allow_failure, artifacts, before_script, cache, coverage, dependencies, environment, except, extends, image, include, interruptible, only, pages, parallel, release, resource_group, retry, rules, services, stage, tags, timeout, trigger, variables, when
,第一期 .gitlab-ci.yml关键词完整解析(一) 讲了最常用的9个关键词的用法,

### .gitlab-ci.yml 关键字详解 #### 1. 配置文件概述 `.gitlab-ci.yml` 是 GitLab CI/CD 中的核心配置文件,用于定义项目的构建、测试和部署流程。它基于 YAML 格式编写,因此需要注意缩进规则以及语法准确性。 #### 2. 常见关键字及其作用 ##### (1) `stages` `stages` 定义了流水线的不同阶段顺序,这些阶段决定了作业的执行次序。每个作业都必须属于某个特定的阶段。 ```yaml stages: - build - test - deploy ``` 上述例子表明流水线分为个阶段:build、test 和 deploy[^1]。 ##### (2) `job` `job` 表示具体的任务单元,在 `.gitlab-ci.yml` 文件中通常以独立的部分表示。每一个 job 至少需要指定一个 stage 属性来决定其所属阶段。 ```yaml my_job: stage: test script: - echo "Running my job" ``` 此部分展示了名为 `my_job` 的 task 将会在 `test` 阶段被执行,并打印一条消息到控制台[^2]。 ##### (3) `script` `script` 字段指定了实际运行的一系列命令或者脚本。这是最基础也是最重要的字段之一。 ```yaml rspec: script: - bundle install - rake db:create RAILS_ENV=test - rails spec ``` 这里展示了一个典型的 Ruby 测试环境设置过程[^4]。 ##### (4) `artifacts` 当某些 jobs 结束后可能希望保存一些产物供后续使用或下载查看时可以利用 artifact 功能。例如生成的日志文件或者其他二进制数据等都可以作为 artifacts 被保留下来。 ```yaml build_artifact: ... artifacts: paths: - public/ expire_in: '1 week' ``` 上面的例子设置了路径下的所有内容会被打包成压缩包并存储一周时间[^3]。 ##### (5) `cache` 为了加速重复性的操作比如依赖安装可以通过缓存机制实现减少冗余计算量的目的。 ```yaml caching_example: cache: key: "$CI_COMMIT_REF_SLUG" paths: - vendor/ruby script: - gem install bundler && bundle install --path=vendor/ruby ``` 这段代码片段说明如果存在相同的分支名称则会尝试加载已存在的 gems 缓存从而加快第二次及以后的构建速度。 ##### (6) 特殊字符处理(针对 Windows) 由于操作系统差异,在 windows 平台上运行 yaml 脚本时需注意特殊变量符号 `$` 应改为 `%` 来适应 cmd 解析器的要求。 ```yaml windows_specific_job: artifacts: name: "%CI_JOB_STAGE%_%CI_COMMIT_REF_NAME%" untracked: true ``` 此处演示了如何修改默认行为使得能够在 windows 下正常工作。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿我格子衫来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值