.gitlab-ci.yml简介

分类: 都搁这呢 , linux , cicd

关键字介绍

复制代码
script             由Runner执行的Shell脚本。
image              使用docker镜像,  image:name
service            使用docker  services镜像, services:name
before_script      执行作业前运行的脚本
after_script       作业完成后运行的脚本
stages             定义管道中的步骤,依次运行
stage              定义管道中步骤的作业段
only              指定作业限制only:refs,only:kubernetes,only:variables,和only:changes
tags               指定执行作业的runner
allow_failure      允许job失败
when               什么时候开始工作,
  on_success       只有当前一个阶段的所有工作都成功时(或者因为它们被标记而被认为是成功的allow_failure)才执行工作 。这是默认值。
  on_failure       仅当前一阶段的至少一个作业失败时才执行作业。
  always           无论先前阶段的工作状态如何,都可以执行工作。
  manual           手动执行作业
  delayed          延迟作业。后面跟start_in,start_in 30minutes(延迟30分钟),不加单位,默认为秒。最长可延迟1小时。
environment 作业部署到的环境名称 #暂未搞清 cache   key:
"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支,每步骤启用缓存 artifacts job成功时附加到作业的文件或目录 dependencies 此job依赖其他jobz,主要作用于作业优先级 converage 给定作业代码覆盖率设置       retry 在发生故障时,可以自动重试作业的次数。 parallel   应该并行运行多少个作业实例 trigger 定义下游管道触发器 include 允许此作业包含外部YAML extends 此作业将继承的配置项 pages 上传作业结果用于gitlab pages variables 作业级别定义作业变量
复制代码

简单使用案例

   runner的执行方式为shell的简单示例。

复制代码
 1 cache:
 2     key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"  #为每分支提供缓存
 3     paths:
 4       - node_modules           #缓存哪些文件/文件夹
 5       - bower_components
 6 before_script:   
 7 -echo "执行前运行脚本"
 8 after_script:
 9 -echo "执行后运行脚本" 
10 stages:     #设置步骤有哪些,常用三大块,创建,测试,发布
11   -build
12   -test
13   -deploy
14 Job1:        #设置某一步的运行工作,每个步骤可有多个job同步进行,也可设置dependencies限制
15   stage:build     #此job属于哪个步骤
16   script:
17     -echo "go  go   go" 
18   only:
19     -master    #哪个分支触发
20   tags:
21     -share      #指定runner,注册runner时填写的tag
22 test:
23   stage:test
24   script:
25     -echo "测试开始"
26   only:
27     -master
28   tags:
29     -share
30 deploy:
31   stage:deploy
32   when: 
33    - manual  #上面有解释
34   script:
35     -echo "部署开始"
36 only:
37     -master
38   tags:
39     -share
复制代码

 


posted @   天天开訫  阅读(4498)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
# .gitlab-ci.yml简介
关键字介绍简单使用案例
点击右上角即可分享
微信分享提示