• GitLab CI/CD中的常用预设变量


    GitLab CI/CD中的常用预设变量

    在GitLab CI/CD中有很多官方预设的变量,这些变量极大地扩展了流水线的功能,比如有一个预设变量为 CI,在GitLab CI/CD的流水线中它的值始终为true,用于表明当前的运行环境是在CI/CD的流水线中,使用它开发者可以将一般的开发构建与流水线中的构建区分开来,从而实现不用的业务逻辑。

    再比如预设变量CI_COMMIT_TAG,该变量表明触发流水线的commit的tag是什么,如果是一般的分支流水线,或者合并流水线,该变量是不存在的,只有当开发者创建了一个tag,触发tag流水线时才会存在该变量,拿到tag名称后,你可以将制品的名称设置为tag名称,保证了制品与tag的统一,非常方便快捷。

    下面就是我为大家整理的一些常用的预设变量,需要说明的是,有些变量只有在某些版本以上才存在。

    常用预设变量表

    变量名称 GitLab GitLab Runner 描述
    CI all 0.4 对CI/CD中的所有作业可见,值为true
    CI_BUILDS_DIR all 11.10 构建时的最顶层目录
    CI_COMMIT_AUTHOR 13.11 all 提交的作者,格式为:名称<邮箱>
    CI_COMMIT_BEFORE_SHA 11.2 all 当前分支的上一个提交哈希值
    CI_COMMIT_BRANCH 12.6 0.5 提交的分支名,在合并流水线和tag流水线时不可见
    CI_COMMIT_DESCRIPTION 10.8 all 提交的描述
    CI_COMMIT_MESSAGE 10.8 all 完整的提交信息
    CI_COMMIT_REF_NAME 9.0 all 项目的分支名或tag名
    CI_COMMIT_REF_PROTECTED 11.11 all 如果作业正在构建的是被保护的分支或tag-拿我格子衫来,值为true
    CI_COMMIT_REF_SLUG 9.0 all CI_COMMIT_REF_NAME的小写形式。
    CI_COMMIT_SHA 9.0 all 提交的完整哈希值
    CI_COMMIT_SHORT_SHA 11.7 all 8个字符的提交哈希值
    CI_COMMIT_TAG 9.0 0.5 提交的tag,仅在tag流水线可见
    CI_COMMIT_TIMESTAMP 13.4 all 提交时的时间戳
    CI_COMMIT_TITLE 10.8 all 提交的标题
    CI_DEFAULT_BRANCH 12.4 all 项目的默认分支
    CI_DEPLOY_FREEZE 13.2 all 当流水运行是处于部署冻结阶段时可见,值为true。
    CI_ENVIRONMENT_NAME 8.15 all 当前作业的部署环境名,当设置了environment:name 时可见
    CI_ENVIRONMENT_URL 9.3 all 当前作业的部署环境地址,只有设置了environment:url可见
    CI_JOB_ID 9.0 all 当前作业的ID,系统内唯一
    CI_JOB_IMAGE 12.9 12.9 当前作业使用的Docker镜像名
    CI_JOB_NAME 9.0 0.5 当前作业名称
    CI_JOB_STAGE 9.0 0.5 当前作业所属的阶段名
    CI_PIPELINE_ID 8.10 all 当前流水线ID(实例级),系统内唯一
    CI_PIPELINE_SOURCE 10.0 all 流水线触发方式,枚举值为push,web, schedule, api, external, chat, webide,merge_request_event, external_pull_request_event, parent_pipeline, trigger, 或者 pipeline
    CI_PIPELINE_TRIGGERED all all 当作业是使用trigger触发的时为true
    CI_PIPELINE_URL 11.1 0.5 流水线详情的地址
    CI_PIPELINE_CREATED_AT 13.10 all 流水线创建时间
    CI_PROJECT_DIR all all 存放克隆项目的完整路径,作业运行的目录。
    CI_PROJECT_NAME 8.10 0.5 当前项目名称,不包含组名
    CI_PROJECT_NAMESPACE 8.10 0.5 项目的命名空间(组名或用户名)
    CI_PROJECT_PATH 8.10 0.5 包含项目名称的命名空间
    CI_PROJECT_TITLE 12.4 all 项目名称(网页上显示的)
    CI_PROJECT_URL 8.10 0.5 项目HTTP(S)地址
    CI_RUNNER_TAGS 8.10 0.5 逗号分割的runner标签列表
    GITLAB_USER_EMAIL 8.12 all 开始当前作业的用户邮箱
    GITLAB_USER_LOGIN 10.0 all 开始当前作业的登录用户名
    GITLAB_USER_NAME 10.0 all 开始当前作业的用户名
    CI_MERGE_REQUEST_APPROVED (仅合并流水线) 14.1 all 当合并流水线的MR被通过时值为true
    CI_MERGE_REQUEST_ASSIGNEES (仅合并流水线) 11.9 all 逗号分割的合并请求指派人列表
    CI_MERGE_REQUEST_SOURCE_BRANCH_NAME(仅合并流水线) 11.6 all 合并请求中的源分支名称
    CI_MERGE_REQUEST_TARGET_BRANCH_NAME(仅合并流水线) 11.6 all 合并请求中的目标分支名称
    CI_MERGE_REQUEST_TITLE(仅合并流水线) 11.9 all 合并请求的标题
  • 相关阅读:
    union all 与order by的连用
    oracle--trunc与to_char的区别
    oracle函数--trunc
    大公司能给你什么
    要么忍要么滚
    scp报错:not a regular file,解决方法:加参数 -r
    hive中的一种假NULL现象
    使用Python scikit-learn 库实现神经网络算法
    随机梯度下降算法求解SVM
    机器学习算法--svm实战
  • 原文地址:https://www.cnblogs.com/michaelcjl/p/15942786.html
Copyright © 2020-2023  润新知