Gitlab流水线配置

由于格式和图片解析问题,为了更好阅读体验可前往 阅读原文

流水线的流程是,提交代码后,gitlab会检测项目根目录里的.github-ci.yml文件,根据文件中的流水线自动构建,配置文件格式正确性可以在gitlab进行文件校验,格式使用yaml文件格式,一个yaml文件就是一个流水线,里面会定义多个作业

示例

stages:
 - install
 - build
 - deploy
 
install_job:
 stage: install
 tags:
 - docker
 script:
 - echo install stage

build_job:
 stage: build
 script:
 - echo build stage
 
deploy_job:
 stage: deploy
 script:
 - echo deploy stage

默认变量

gitlab会提供一些默认变量使用,这里列出默认变量

https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

通用变量

变量 GitLab Runner 描述
CHAT_CHANNEL 10.6 all 触发 ChatOps 命令的源聊天频道。
CHAT_INPUT 10.6 all 使用 ChatOps 命令传递的附加参数。
CHAT_USER_ID 14.4 all 触发 ChatOps 命令的用户的聊天服务用户 ID。
CI all 0.4 适用于在 CI/CD 中执行的所有作业。可用时为 true
CI_API_V4_URL 11.7 all GitLab API v4 根 URL。
CI_BUILDS_DIR all 11.10 执行构建的顶级目录。
CI_COMMIT_AUTHOR 13.11 all Name <email> 格式的提交作者。
CI_COMMIT_BEFORE_SHA 11.2 all 出现在分支或标签上的上一个最新提交。在合并请求的流水线中总是 0000000000000000000000000000000000000000
CI_COMMIT_BRANCH 12.6 0.5 提交分支名称。在分支流水线中可用,包括默认分支的流水线。在合并请求流水线或标签流水线中不可用。
CI_COMMIT_DESCRIPTION 10.8 all 提交的描述。如果标题短于 100 个字符,则消息没有第一行。
CI_COMMIT_MESSAGE 10.8 all 完整的提交消息。
CI_COMMIT_REF_NAME 9.0 all 为其构建项目的分支或标签名称。
CI_COMMIT_REF_PROTECTED 11.11 all 如果作业正在运行以获取受保护的 ref 为 true
CI_COMMIT_REF_SLUG 9.0 all CI_COMMIT_REF_NAME 小写,缩短为 63 字节,除了 0-9a-z 之外的所有内容都替换为 -。没有前导/尾随-。 在 URL、主机名和域名中使用。
CI_COMMIT_SHA 9.0 all 项目为其构建的提交修订。
CI_COMMIT_SHORT_SHA 11.7 all CI_COMMIT_SHA 的前八个字符。
CI_COMMIT_TAG 9.0 0.5 提交标签名称。仅在标签流水线中可用。
CI_COMMIT_TAG_MESSAGE 15.5 all 提交标签消息。仅在标签流水线中可用。
CI_COMMIT_TIMESTAMP 13.4 all ISO 8601 格式的提交时间戳。
CI_COMMIT_TITLE 10.8 all 提交的标题。消息的完整第一行。
CI_CONCURRENT_ID all 11.10 单个 executor 中构建执行的唯一 ID。
CI_CONCURRENT_PROJECT_ID all 11.10 单个 executor 和项目中构建执行的唯一 ID。
CI_CONFIG_PATH 9.4 0.5 CI/CD 配置文件的路径。默认为.gitlab-ci.yml。在正在运行的流水线中只读。
CI_DEBUG_TRACE all 1.7 如果 debug 日志 (跟踪) 已启用为true
CI_DEBUG_SERVICES 15.7 15.7 true 如果启用了服务容器日志,值为 true
CI_DEFAULT_BRANCH 12.4 all 项目默认分支的名称。
CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX 13.7 all 通过 Dependency Proxy 拉取镜像的顶级群组镜像前缀。
CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX 14.3 all 通过 Dependency Proxy 拉取镜像的直接群组镜像前缀。
CI_DEPENDENCY_PROXY_PASSWORD 13.7 all 通过 Dependency Proxy 拉取镜像的密码。
CI_DEPENDENCY_PROXY_SERVER 13.7 all 用于登录 Dependency Proxy 的服务器。相当于 $CI_SERVER_HOST:$CI_SERVER_PORT
CI_DEPENDENCY_PROXY_USER 13.7 all 通过 Dependency Proxy 拉取镜像的用户名。
CI_DEPLOY_FREEZE 13.2 all 仅当流水线在部署冻结窗口期间运行时才可用。可用时为 true
CI_DEPLOY_PASSWORD 10.8 all GitLab Deploy Token 的认证密码,如果项目有的话。
CI_DEPLOY_USER 10.8 all GitLab Deploy Token 的认证用户名,如果项目有的话。
CI_DISPOSABLE_ENVIRONMENT all 10.1 仅当作业在一次性环境中执行时才可用(仅为该作业创建并在执行后处理/销毁 - 除 shellssh 之外的所有 executor)。可用时为 true
CI_ENVIRONMENT_NAME 8.15 all 此作业的环境名称。 如果设置了 environment:name,则可用。
CI_ENVIRONMENT_SLUG 8.15 all 环境名称的简化版本,适合包含在 DNS、URL、Kubernetes labels 等。如果设置了 environment:name,则可用。Slug 被截断为 24 个字符。
CI_ENVIRONMENT_URL 9.3 all 此作业的环境 URL。如果设置了 environment:url,则可用。
CI_ENVIRONMENT_ACTION 13.11 all 为此作业的环境指定的操作注释。如果设置了 environment:action,则可用。可以是startpreparestop
CI_ENVIRONMENT_TIER 14.0 all 此作业的环境部署级别。
CI_RELEASE_DESCRIPTION 15.5 all 发布的描述。仅在标签流水线上可用。描述长度限制为前 1024 个字符。
CI_GITLAB_FIPS_MODE 14.10 all 实例中是否启用 FIPS 模式的配置设置。
CI_HAS_OPEN_REQUIREMENTS 13.1 all 仅当流水线的项目具有打开的需求 时才可用。可用时为 true
CI_JOB_ID 9.0 all 作业的内部 ID,在 GitLab 实例中的所有作业中是唯一的。
CI_JOB_IMAGE 12.9 12.9 运行作业的 Docker 镜像的名称。
CI_JOB_JWT 12.10 all 一个 RS256 JSON Web 令牌,用于与支持 JWT 身份验证的第三方系统进行身份验证,例如 HashiCorp’s Vault
CI_JOB_JWT_V1 14.6 all CI_JOB_JWT 相同的值。
CI_JOB_MANUAL 8.12 all 如果作业是手动启动为 true
CI_JOB_NAME</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值