关于.gitlab-ci.yml的实用配置
1、stage参数
stages:
- build
- test
- deploy
相同stage的作业会并行执行,有一个失败,则认为这个stage失败。
不同stage的作业会按序执行,前面stage有失败,后续stage不会继续执行。
可以使用needs参数改变不同stage之间的依赖关系。
2、cache参数
cache
是一种用于存储和重用构建产物的机制,以加速CI/CD管道的执行。通过缓存,可以在不必每次都重新构建或下载依赖的情况下,加快CI/CD作业的执行速度。通常,cache
主要用于存储依赖包、编译文件、测试工件等。
3、artifacts参数
另存为指定的文件或目录作为产物,供后续阶段使用,也可以在Gitlab UI下载它们。默认情况下,后期阶段的作业会自动下载早期阶段作业创建的所有产物。可以使用dependencies参数来只引用特定阶段的产物。可以使用参数控制产物的过期时间、公开与否、触发条件等。
paths是相对于项目根目录而言($CI_PROJECT_DIR)
job:
artifacts:
paths:
- binaries/ # 目录下所有文件作为产物
- .config # .config文件作为产物
与cache目的不同,cache主要用于缓存依赖项,例如依赖包、编译中间文件等,以加速连续集成(CI)过程,并且不能下载和共享给其他项目。
artifacts主要用于存储产物、报告等,供后续存档查阅和下载。
4、services参数:
启动一个docker服务,供当前阶段使用。如执行代码单元测试时,需要数据库服务。
unit test: image: unit_test:latest services: - name: mysql:oracle alias: mysql # 定义host为mysql,作业可以通过mysql连接到该服务 script: - pytest
5、trigger参数:
trigger
参数通常用于配置外部项目或仓库的触发器,使其能够启动当前项目的CI/CD管道。这是一种通过API或Webhooks自动触发另一个项目中的CI/CD流程的方法。trigger
参数通常用于配置与项目间的协作,例如,一个项目的CI/CD流程依赖于另一个项目生成的artifacts。
6、include参数
类似编程中的封装和继承,将相同作业或者模板定义在单独文件或项目中,供其他.gitlab-ci.yml使用。include参数可以是当前项目中的文件,也可以是其他项目或者外部项目中的文件。
include: - project: xxx/gitlab-ci-template ref: master file: template.yaml
7、extends参数
继承extends指定的配置。只会继承当前作业未定义的配置,已经定义的配置会覆盖。
.tests:
script: rake test
stage: test
only:
refs:
- branchesrspec:
extends: .tests
script: rake rspec --no-input # 覆写.tests中的script
8、allow_failure参数文章来源:https://www.toymoban.com/news/detail-735702.html
允许作业失败。失败的作业不会导致管道失败。文章来源地址https://www.toymoban.com/news/detail-735702.html
到了这里,关于Gitlab CICD实用技巧汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!