• 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_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
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    2、自定义variables

    在这里插入图片描述

  • 相关阅读:
    MySQL 性能分析
    数组相关 内容 解析
    无人机斜影数据(OSGB)转 Cesium 3dtile 数据
    Sublime合并生成,同时编辑三页代码和文本框
    【多级缓存】
    配置测试ip、正式ip、本地ip
    软件使用经验合集(操作系统、常用软件)
    拦截手机号码
    pdf拆分成多个文件的方法以及注意事项
    企业级DevOps平台搭建及技术选型-项目管理篇
  • 原文地址:https://blog.csdn.net/zhou920786312/article/details/126479784