gitlab--基础--5.4--CICD--variables

2023-10-30

gitlab–基础–5.4–CICD–variables


1、variables的保留字

1.1、CI

标识该job是在CI环境中执行

1.2、CI_COMMIT_REF_NAME

用于构建项目的分支或tag 的名称

1.3、CI_COMMIT_REF_SLUG

  1. 先将$CI_COMMIT_REF_NAME的值转换成小写,最大不能超过63个字节,然后把除了0-9和a-z的其他字符转换成-。
  2. 在URLs和域名名称中使用。

1.4、CI_COMMIT_SHA

commit的版本号

1.5、CI_COMMIT_TAG

  1. commit的tag名称。
  2. 只有创建了tags才会出现。

1.6、CI_DEBUG_TRACE

debug tracing开启时才生效

1.7、CI_ENVIRONMENT_NAME

当前作业的部署环境名,当设置了environment:name 时可见

1.8、CI_ENVIRONMENT_SLUG

  1. 环境名称的简化版本
  2. 适用于DNS,URLs,Kubernetes labels等

1.9、CI_JOB_ID

GItLab CI内部调用job的一个唯一ID

1.10、CI_JOB_MANUAL

表示job启用的标识

1.11、CI_JOB_NAME

.gitlab-ci.yml中定义的job的名称

1.12、CI_JOB_STAGE

.gitlab-ci.yml中定义的stage的名称

1.13、CI_JOB_TOKEN

用于同GitLab容器仓库验证的token

1.14、CI_REPOSITORY_URL

git仓库地址,用于克隆

1.15、CI_RUNNER_DESCRIPTION

GitLab中存储的Runner描述

1.16、CI_RUNNER_ID

Runner所使用的唯一ID

1.17、CI_RUNNER_TAGS

逗号分割的runner标签列表

1.18、CI_PIPELINE_ID

GitLab CI 在内部使用的当前pipeline的唯一ID

1.19、CI_PIPELINE_TRIGGERED

当作业是使用trigger触发的时为true

1.20、CI_PROJECT_DIR

存放克隆项目的完整路径,作业运行的目录。

1.21、CI_PROJECT_ID

GitLab CI在内部使用的当前项目的唯一ID

1.22、CI_PROJECT_NAME

当前正在构建的项目名称(事实上是项目文件夹名称)

1.23、CI_PROJECT_NAMESPACE

当前正在构建的项目命名空间(用户名或者是组名称)

1.24、CI_PROJECT_PATH

命名空间加项目名称

1.25、CI_PROJECT_PATH_SLUG

  1. $CI_PROJECT_PATH小写字母、除了0-9和a-z的其他字母都替换成-。
  2. 用于地址和域名名称。

1.26、CI_PROJECT_URL

项目的访问地址(http形式)

1.27、CI_REGISTRY

如果启用了Container Registry,则返回GitLab的Container Registry的地址

1.28、CI_REGISTRY_IMAGE

如果为项目启用了Container Registry,它将返回与特定项目相关联的注册表的地址

1.29、CI_REGISTRY_PASSWORD

用于push containers到GitLab的Container Registry的密码

1.30、CI_REGISTRY_USER

用于push containers到GItLab的Container Registry的用户名

1.31、CI_SERVER

标记该job是在CI环境中执行

1.32、CI_SERVER_NAME

用于协调job的CI服务器名称

1.33、CI_SERVER_REVISION

用于调度job的GitLab修订版

1.34、CI_SERVER_VERSION

用于调度job的GItLab版本

1.35、ARTIFACT_DOWNLOAD_ATTEMPTS

尝试运行下载artifacts的job的次数

1.36、GET_SOURCES_ATTEMPTS

尝试运行获取源的job次数

1.37、GITLAB_CI

用于指示该job是在GItLab CI环境中运行

1.38、GITLAB_USER_ID

开启该job的用户ID

1.39、GITLAB_USER_EMAIL

开启该job的用户邮箱

1.40、RESTORE_CACHE_ATTEMPTS

尝试运行存储缓存的job的次数

1.41、CI_BUILDS_DIR

构建时的最顶层目录

1.42、CI_COMMIT_AUTHOR

提交的作者,格式为:名称<邮箱>

1.43、CI_COMMIT_BEFORE_SHA

当前分支的上一个提交哈希值

1.44、CI_COMMIT_BRANCH

提交的分支名,在合并流水线和tag流水线时不可见

1.45、CI_COMMIT_DESCRIPTION

提交的描述

1.46、CI_COMMIT_MESSAGE

完整的提交信息

1.47、CI_COMMIT_REF_PROTECTED

如果作业正在构建的是被保护的分支或tag,值为true

1.48、CI_COMMIT_SHORT_SHA

8个字符的提交哈希值

1.49、CI_COMMIT_TIMESTAMP

提交时的时间戳

1.50、CI_COMMIT_TITLE

提交的标题

1.51、CI_DEFAULT_BRANCH

项目的默认分支

1.52、CI_DEPLOY_FREEZE

当流水运行是处于部署冻结阶段时可见,值为true。

1.53、CI_ENVIRONMENT_URL

当前作业的部署环境地址,只有设置了environment:url可见

1.54、CI_JOB_IMAGE

当前作业使用的Docker镜像名

1.55、CI_PIPELINE_SOURCE

流水线触发方式,枚举值为push,web, schedule, api, external, chat, webide, merge_request_event, external_pull_request_event, parent_pipeline, trigger, 或者 pipeline

1.56、CI_PIPELINE_URL

流水线详情的地址

1.57、CI_PIPELINE_CREATED_AT

流水线创建时间

1.58、CI_PROJECT_TITLE

项目名称(网页上显示的)

1.59、GITLAB_USER_LOGIN

开始当前作业的登录用户名

1.60、GITLAB_USER_NAME

开始当前作业的用户名

1.61、CI_MERGE_REQUEST_APPROVED (仅合并流水线)

当合并流水线的MR被通过时值为true

1.62、CI_MERGE_REQUEST_ASSIGNEES (仅合并流水线)

逗号分割的合并请求指派人列表

1.63、CI_MERGE_REQUEST_SOURCE_BRANCH_NAME(仅合并流水线)

合并请求中的源分支名称

1.64、CI_MERGE_REQUEST_TARGET_BRANCH_NAME(仅合并流水线)

合并请求中的目标分支名称

1.65、CI_MERGE_REQUEST_TITLE(仅合并流水线)

合并请求的标题

1.66、CI_PROJECT_PATH

包含项目名称的命名空间

1.67、CI_PROJECT_TITLE

项目名称(网页上显示的)

1.68、CI_PROJECT_URL

项目HTTP(S)地址

1.69、CI_RUNNER_TAGS

逗号分割的runner标签列表

1.70、GITLAB_USER_EMAIL

开始当前作业的用户邮箱

1.71、GITLAB_USER_LOGIN

开始当前作业的登录用户名

1.72、GITLAB_USER_NAME

开始当前作业的用户名

1.73、CI_MERGE_REQUEST_APPROVED (仅合并流水线)

当合并流水线的MR被通过时值为true

1.74、CI_MERGE_REQUEST_ASSIGNEES (仅合并流水线)

逗号分割的合并请求指派人列表

1.75、CI_MERGE_REQUEST_SOURCE_BRANCH_NAME(仅合并流水线)

合并请求中的源分支名称

1.76、CI_MERGE_REQUEST_TARGET_BRANCH_NAME(仅合并流水线)

合并请求中的目标分支名称

1.77、CI_MERGE_REQUEST_TITLE(仅合并流水线)

合并请求的标题

1.78、GIT_CHECKOUT(是否下载git代码)

  1. 每次运行job 是否下载git代码。
  2. 默认值:true

1.78.1、案例

只在build-app阶段下载git代码,其他阶段 不下载代码。


# 定义变量
variables:
  # GIT_CHECKOUT 全局设置为 false,这样所有阶段都不下载git代码
  GIT_CHECKOUT: "false"


stages:
  - build-app
  - clean-cache
# 拷贝文件到指定目录
build-app:
  stage: build-app
  variables:
    # GIT_CHECKOUT  设置为 true,下载git代码
    GIT_CHECKOUT: "true"
  script:
    # 构建临时目录
    - ls

# 清空缓存
clean-cache:
  stage: clean-cache
  script:
    - ls
 

2、自定义variables

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gitlab--基础--5.4--CICD--variables 的相关文章

随机推荐

  • 哈工大2020软件构造Lab4实验报告

    为了鄙视代写 抄袭 伸手党 删除了一些 容易抄袭 的部分 有问题 询问省略部分 欢迎QQ交流 本项目于5 19日实验课完成 该更新的 更新完成 如果有所参考 请点点关注 点点赞GitHub Follow一下谢谢 2020春计算机学院 软件构
  • Python安装教程

    本文主要介绍Windows下Python的安装步骤 1 打开官网www python org 选择Downloads 进入下载界面 2 选择需要下载的Python版本号 点击Download 我选择的Python版本为3 9 6 3 点击D
  • 计算机考研复试操作系统题库

    文章目录 1 什么是操作系统 操作系统的主要功能是 它的主要特征是什么 重点 2 进程与线程的关系以及区别 重点 3 Windows下的内存是如何管理的 简单了解即可 4 中断和轮询的特点 5 什么是临界区 如何解决冲突 什么叫临界资源 6
  • JDBC基础

    1 JDBC概述 在开发中我们使用的是java语言 那么势必要通过java语言操作数据库中的数据 1 1 JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套API 全称 Java DataBase Connectivity
  • 踏浪点神:新手该如何避免频繁重仓交易?

    期货市场中最忌讳的就是让情绪影响交易 但很多人却又很难避免这一点 其中表现最为突出的就是频繁操作了 自信地以为 多劳多得 近乎疯狂地买卖 满脑子的愤怒都急切地想要通过 自杀 的方式得以宣泄 这就是所谓的 交易失控 大多数人在事后冷静下来了都
  • K8S内容分发网络之集群,nginx,负载均衡,防火墙

    目录 第一章 实验架构需求 第二章 实验环境准备 2 1 节点准备 2 2 环境准备 2 3 在master node01 node02上操作安装docker 2 4 所有节点安装kubeadm kubelet和kubectl 2 5 部署
  • 使用dplyr包中的rename函数重命名R语言数据框中的指定列

    使用dplyr包中的rename函数重命名R语言数据框中的指定列 在R语言中 dplyr包提供了一组功能强大且易于使用的函数 用于对数据进行操作和转换 其中 rename函数可以用于重命名数据框中的指定列 本文将介绍如何使用dplyr包中的
  • DVWA(七) - 使用python脚本实现SQL盲注

    SQL Injection Blind sql盲注其实就是sql注入的一种 但是不会根据sql注入的攻击语句返回你想要知道的信息 盲注分为两种 布尔盲注以及时间盲注 布尔盲注 根据你的注入信息返回True和Fales 而返回的True和Fa
  • 【Java入门学习笔记】——第六天 import语句,类的访问控制权限问题,对象数组

    Q 怎样使用import语句 A import语句的作用如下 1 引入类库中的类 2 引入自定义包中的类 需要把程序使用的自定义的包名所形成的目录都放在同一文件夹中 Example01 所有包名形成的目录都要放在Example01中 stu
  • 职业素质学习心得

    名言 1 古之立大事者 不惟有超世之才 必有坚韧不拔之志 2 摒弃侥幸之念 必取百炼成刚 厚积分秒之功 始得一鸣惊人 一 心态决定一切 如果你有一个梦想 维护她 坚守她 实现她 企业招聘看重两个方面 心态 积极 能力 强大 公司待遇衡量标准
  • iOS反编译修改ipa的启动图

    启动图制作脚本点击此获取 步骤一 先创建一个iOS项目 并制作启动图 点击获取教程链接 步骤二 运行上述创建的项目 将会在Products目录得到一个xx app 右键选择 Show in Finder 再右键选择 显示包内容 取出Laun
  • C++11 之列表初始化

    在 c 98 03 中的对象初始化方法有很多种 请看下面的代码 初始化列表 int i arr 3 1 2 3 普通数组 struct A int x struct B int i int j b a 1 2 3 POD 类型即 plain
  • Memcache介绍及安装部署

    Memcache 官网 http memcached org 1 Memcache 的特性 1 可以通过做集群同步的方式 让各 memcache 服务器的数据进行同步 从而实现数据的一致性 2 memcached使用libevent库 能在
  • 国庆7天没休息,我用17张图画明白了SpringCloudAlibaba

    大家好 今天给大家介绍一个非常热门的技术 同时也是面试的时候面试官特别喜欢问的一个话题 那就是 SpringCloudAlibaba 的底层原理 现在大家都知道 SpringCloudAlibaba 风靡 Java 开发行业 各个公司都在用
  • pycharm导入第三方库

    第一步 点击文件按钮 第二步 点击设置 第三步 选择项目 python解释器 第四步 点击右侧栏的 第五步 输入要导入的库 进行搜索 第六步 点击安装包 等待安装完成即可
  • 基于springboot+vue的开源mes系统

    真正的大师 永远都怀着一颗学徒的心 一 项目简介 基于springboot vue的开源mes系统 二 实现功能 常规管理 现场数据采集 系统管理 菜单管理 用户管理 日志管理 角色管理 基础数据配置平台 基础数据维护 物料管理 物料台账
  • 程序员常去的个顶级开发社区

    程序员常去的个顶级开发社区 Stack Overflow 9月份 Stack Overflow也将迎来其6岁的生日 毫无疑问 Stack Overflow是全球最受程序员欢迎的开发社区 而且也是内容最丰富的社区之一 官方网站 http st
  • checkpatch海思SDK代码遇见的常见错误《一》

    01 WARNING AVOID EXTERNS externs should be avoided in c files 3 FILE sample region sample region c 3 extern C ifdef cplu
  • C++面试题分享

    在牛客网偶然间翻到的一个大佬总结的有关C 面试题的一个专栏 该专刊囊括了C语言 C 操作系统 计算机网络 嵌入式 算法与数据结构 数据库等一系列知识点 总结出了高频面试考点 附有答案 共计273道 在这里给大家分享一下 链接 蒋豆芽面试题专
  • gitlab--基础--5.4--CICD--variables

    gitlab 基础 5 4 CICD variables 1 variables的保留字 1 1 CI 标识该job是在CI环境中执行 1 2 CI COMMIT REF NAME 用于构建项目的分支或tag 的名称 1 3 CI COMM