自定义环境变量
gitlab 给我们内置了很多的变量,但有时候满足不了我们的需求,例如我们需要往某个私有仓库推送镜像,需要账号和密码进行登录。这时候我们不想把密码写在 .gitlab-ci.yml 文件里面。我们就可以自定义一个环境变量来使用了。
先来定义一个变量,设置-》CI/CD-》变量
在 .gitlab-ci.yml 里定义,如下
default: tags: - docker stages: - build build: stage: build script: - echo "$Myname" # 使用定义的变量,$ 代表是变量
运行流水线,查看流水线
接下来我们勾选上隐藏变量,在来查看日志
内置的环境变量
CI_PIPELINE_SOURCE
:流水线是如何触发的。可以是 push、web、schedule、api、external、chat、webide、merge_request_event、external_pull_request_event、parent_pipeline、trigger 或 pipeline
例子
static_check: rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' # 在创建合并请求时触发。在实际合并更改时不会触发 tags: - docker stage: verify
CI_COMMIT_BRANCH
:提交分支名称。在分支流水线中可用,包括默认分支的流水线。在合并请求流水线或标签流水线中不可用
例子
unit_test: rules: - if: '$CI_COMMIT_BRANCH == "main"' # 分支为 main 的时候触发 stage: test