简单列举出Gitlab CI/CD文档中CI_PIPELINE_SOURCE、CI_COMMIT_REF_SLUG变量的详细解释
时间: 2023-06-03 20:06:54 浏览: 894
CI_PIPELINE_SOURCE: 表示触发CI/CD流程的源头,可以是代码提交、定时器、手动启动等。它的值可能是:push、schedule、web、api、external等。
CI_COMMIT_REF_SLUG: 表示Git中的分支名或tag名。如果是分支名,将把 "/" 替换为 "-"。如果是tag名,则不替换。该变量可以用于构建Docker镜像的标签或指令等。例如:"master" 可以转化为 "master","feature/new-feature" 可以转化为 "feature-new-feature"。
相关问题
解释.gitlab-ci.yml中- if: '$CI_PIPELINE_SOURCE == "web" && ($CI_COMMIT_REF_SLUG =~ /^release.$/ || $CI_COMMIT_REF_SLUG =~ /^hotfix.$/ || $CI_COMMIT_REF_SLUG == "master")' when: on_success含义
这是GitLab CI/CD的条件语句,用于判断当前CI/CD流水线的来源是否是Web界面。如果当前流水线是由Web界面触发的,那么条件语句结果为真,控制流将根据条件执行不同的操作。这个条件语句可以用来控制流水线的执行,比如只在Web界面触发时运行特定的任务,或者设置不同的环境变量等。
gitlab ci/cd内置变量
GitLab CI/CD(持续集成/持续部署)的内置变量是一组预定义的环境和构建相关的变量,它们在每个工作流执行过程中都可用,无需显式设置。这些变量提供了方便的功能,如访问项目路径、工作目录、环境信息等。下面列举了一些常见的内置变量:
1. `CI_PROJECT_PATH`: 项目的完整路径,对于内部仓库是相对路径,对于外部仓库是绝对URL。
2. `CI_PROJECT_DIR`: 当前执行的工作目录,通常为`.gitlab-ci.yml`所在目录。
3. `CI_BUILD_REF`: 当前构建使用的分支或tag名称。
4. `CI_COMMIT_SHA`: 提交的哈希值。
5. `CI_PIPELINE_ID`: 当前管道(Pipeline)的唯一标识。
6. `CI_PIPELINE_URL`: 当前管道的URL。
7. `CI_JOB_NAME`: 当前运行的job的名称。
8. `CI_JOB_ID`: 当前job的唯一标识。
9. `CI_ENVIRONMENT_NAME`: 如果在特定环境中执行,会包含该环境的名称。
10. `CI_RUNNER_ID`: 执行构建的runner的ID。
11. `CI_REGISTRY`: 如果有注册镜像,包含了镜像仓库的信息。
阅读全文