Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • GitCode
  • 帮助文档
  • Wiki
    • Docs
    • Ci
  • variables

帮
帮助文档
  • 项目概览

GitCode / 帮助文档

通知 1627
Star 125
Fork 140
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 166
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 23
  • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • Wiki 89
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
帮
帮助文档
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 166
    • Issue 166
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 23
    • 合并请求 23
  • Pages
  • DevOps
    • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 89
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 流水线任务
  • 提交
  • Issue看板

variables · 变更

页面历史
update files 编写于 6月 10, 2021 作者: BaiXuePrincess's avatar BaiXuePrincess
隐藏空白更改
内联 并排
Showing with 23 addition and 38 deletion
+23 -38
  • docs/ci/variables.md docs/ci/variables.md +23 -38
  • 未找到文件。
docs/ci/variables.md
View page @ 339c8399
......@@ -6,14 +6,9 @@
变量对于在 CODECHINA CI/CD 中自定义流水线任务很有用。 使用变量时,不必对值进行硬编码。
> 有关 CODECHINA CI/CD 高级使用的更多信息:
>
> * 通过 CODECHINA 工程师共享的这[7 种高级 GitLab CI 工作流程黑客,](https://about.gitlab.com/webcast/7cicd-hacks/)可以更快地提高生产力。
> * 了解云原生计算基金会(CNCF)如何通过 GitLab CI/CD 消除许多云提供商之间管理项目[的复杂性](https://about.gitlab.com/customers/cncf/) 。
## 预定义的 CI/CD 变量[](#predefined-environment-variables "Permalink")
CODECHINA CI/CD 具有一组[默认的预定义变量](predefined_variables.html) ,你可以使用它们而无需任何其他说明。 你可以调用问题编号、用户名、分支名称、流水线和提交 ID 等。
CODECHINA CI/CD 具有一组[默认的预定义变量](https://codechina.csdn.net/help/ci/variables/predefined_variables.html) ,你可以使用它们而无需任何其他说明。 你可以调用问题编号、用户名、分支名称、流水线和提交 ID 等。
CODECHINA 为 Runner 的本地环境提供了预定义的变量。
......@@ -36,26 +31,15 @@ test_variable:
在这种情况下, runner 输出流水线任务`test_variable`的`stage` ,即`test` :
[![Output `$CI_JOB_STAGE`](img/b6a9c5aa2e348263baf61cb961ac802f.png)](img/ci_job_stage_output_example.png)
再举一个例子,假设你使用自己的 CODECHINA 实例,并且想知道 CODECHINA 页面在哪个域下提供服务。 你可以通过在脚本中使用预定义变量`$CI_PAGES_DOMAIN`来调用它:
```
pages:
script:
- ...
- echo $CI_PAGES_DOMAIN
```
对于 GitLab.com 用户,输出将为`gitlab.io` 。 对于你的私有实例,输出将是你的系统管理员定义的任何内容。
[![Output `$CI_JOB_STAGE`](/docs/img/ci_job_stage_output_example.png)](/docs/img/ci_job_stage_output_example.png)
## 自定义 CI/CD 变量[](#custom-environment-variables "Permalink")
当需要特定的自定义环境变量时,可以[在 UI](#create-a-custom-variable-in-the-ui)、[API](../../api/project_level_variables.html)或直接[在`.codechina-ci.yml`文件中进行设置](#create-a-custom-variable-in-ciyml) 。
当需要特定的自定义环境变量时,可以[在 UI](#create-a-custom-variable-in-the-ui)、API 或直接[在`.codechina-ci.yml`文件中进行设置](#create-a-custom-variable-in-ciyml) 。
每当流水线运行时,Runner 就会使用这些变量。 你还[可以手动覆盖特定流水线的变量值](../pipelines/index.html#specifying-variables-when-running-manual-jobs) 。
每当流水线运行时,Runner 就会使用这些变量。 你还可以手动覆盖特定流水线的变量值。
变量有两种类型: **Variable**和**File** 。 你无法在`.codechina-ci.yml`文件中设置类型,但可以在 UI 和 API 中进行设置。
变量有两种类型:**Variable** 和 **File** 。 你无法在`.codechina-ci.yml`文件中设置类型,但可以在 UI 和 API 中进行设置。
### 在 `.codechina-ci.yml` 创建自定义变量[](#create-a-custom-variable-in-ciyml "Permalink")
......@@ -79,8 +63,9 @@ variables:
在用户界面中,你可以添加或更新自定义环境变量:
1。 转到项目的**设置> DevOps**,然后展开 **变量**部分。
2。 单击**添加变量**按钮。 在" **添加变量**模式"中,填写详细信息:
1. 转到项目的**设置> DevOps**,然后展开 **变量**部分。
2. 单击**添加变量**按钮。 在 **添加变量** 模式中,填写详细信息:
* **键** :必须是一行,没有空格,只能使用字母、数字或`_` 。
* **值** :无限制。
......@@ -105,7 +90,7 @@ test_variable:
输出将是:
[![Output custom variable](img/4401376aa4e3f3764851b2dbb25f6f2e.png)](img/custom_variables_output.png)
[![Output custom variable](/docs/img/custom_variables_output.png)](/docs/img/custom_variables_output.png)
### 变量类型的自定义环境变量[](#custom-environment-variables-of-type-variable "Permalink")
......@@ -168,7 +153,7 @@ kubectl config set-cluster e2e --server="$KUBE_URL" --certificate-authority="$KU
要保护变量:
1. 转到**设置> CI / CD** 。
1. 转到**设置> DevOps** 。
2. 展开**变量**部分。
3. 在你要保护的变量旁边,点击**编辑** 。
4. 选择**保护变量**复选框。
......@@ -341,13 +326,13 @@ script:
1. 导航到项目的**设置> DevOps**页面。
2. 展开**变量**部分。
[![CI/CD settings - inherited variables](img/bcbedbd56c50879eb35c2fc2f534d693.png)](img/inherited_group_variables_v12_5.png)
[![CI/CD settings - inherited variables](/docs/img/inherited_group_variables.png)](/docs/img/inherited_group_variables_v12_5.png)
## 实例级 CI/CD 环境变量[](#instance-level-cicd-environment-variables "Permalink")
实例变量非常有用,因为不再需要为所有项目重复手动输入相同的凭据。 实例级变量可用于实例上的所有项目和组。
**注意:**实例级变量的最大数量为 25。
**注意**:实例级变量的最大数量为 25。
你可以通过 UI 或 API 定义实例级变量。
......@@ -358,7 +343,7 @@ script:
* **键** :必须为一行,只能使用字母,数字或`_` (下划线),且不能有空格。
* **值** :允许 10000 个字符。
* **类型**: `File` or `Variable`。
* **类型**: `File` o或 `Variable`。
* **保护变量** (可选):如果选中,则该变量将仅在在受保护的分支或标签上运行的流水线中可用。
* **屏蔽变量** (可选):如果选中,则变量的**值**将不会显示在流水线任务日志中。 如果该值不满足[屏蔽要求,](#masked-variable-requirements)则不会保存该变量。
......@@ -366,7 +351,7 @@ script:
### 启用或禁用实例级 CI/CD 变量的 UI 界面[](#enable-or-disable-ui-interface-for-instance-level-cicd-variables "Permalink")
实例级 CI/CD 变量的 UI 界面正在开发中,但可用于生产环境。 它部署在**默认情况下启用**的功能标志的后面。 [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../administration/feature_flags.html)可以选择为你的实例禁用它。
实例级 CI/CD 变量的 UI 界面正在开发中,但可用于生产环境。 它部署在**默认情况下启用**的功能标志的后面。 有权访问 GitLab Rails 控制台的 GitLab 管理员可以选择为你的实例禁用它。
禁用它:
......@@ -384,7 +369,7 @@ Feature.enable(:instance_variables_ui)
你可以从相关流水线任务中继承环境变量。
该功能利用了[`artifacts:reports:dotenv`](../pipelines/job_artifacts.html#artifactsreportsdotenv)报告功能。
该功能利用了`artifacts:reports:dotenv`报告功能。
带有[`dependencies`](/docs/ci/yaml#dependencies)关键字的示例。
......@@ -435,8 +420,8 @@ deploy:
2. 项目级 [变量](#custom-environment-variables) 或[受保护变量](#protect-a-custom-variable)。
3. 组织级 [变量](#group-level-environment-variables)或[受保护变量](#protect-a-custom-variable)。
4. [继承环境变量](#inherit-environment-variables)。
5. YAML定义的 [流水线任务级变量](../yaml/README.html#variables)。
6. YAML定义的 [全局变量](../yaml/README.html#variables)。
5. YAML定义的 [流水线任务级变量](/docs/ci/yaml#variables)。
6. YAML定义的 [全局变量](/docs/ci/yaml/#variables)。
7. [部署变量](#deployment-environment-variables)。
8. 预定义环境变量。
......@@ -467,7 +452,7 @@ deploy:
然后,这些前缀变量将在运行的应用程序容器上用作环境变量。
**警告:**由于当前 Auto DevOps 脚本环境的限制,当前不支持具有多行值的变量。
**警告**:由于当前 Auto DevOps 脚本环境的限制,当前不支持具有多行值的变量。
### 通过手动运行流水线覆盖变量[](#override-a-variable-by-manually-running-a-pipeline "Permalink")
......@@ -475,13 +460,13 @@ deploy:
例如,假设你添加了一个名为`$TEST`的自定义变量,并且想在手动流水线中覆盖它。
导航到项目的**CI/CD> 流水线** ,然后单击**运行 流水线** 。 选择要为其运行流水线的分支,然后在 UI 中添加变量及其值:
导航到项目的**DevOps > 流水线** ,然后单击**运行 流水线** 。 选择要为其运行流水线的分支,然后在 UI 中添加变量及其值:
[![Override variable value](/docs/img/override_variable_manual_pipeline.png)](/docs/img/override_variable_manual_pipeline.png)
runner 将覆盖先前设置的值,并将自定义值用于此特定流水线。
[![Manually overridden variable output](img/e392f78e991a2b0865f4a2fe825fd7fc.png)](img/override_value_via_manual_pipeline_output.png)
[![Manually overridden variable output](/docs/img/override_value_via_manual_pipeline_output.png)](/docs/img/override_value_via_manual_pipeline_output.png)
## CI/CD 变量表达式[](#environment-variables-expressions "Permalink")
......@@ -490,7 +475,7 @@ runner 将覆盖先前设置的值,并将自定义值用于此特定流水线
在`.codechina-ci.yml` ,变量表达式可同时用于以下两种情况:
* [`rules`](/docs/ci/yaml#rules) ,这是推荐的方法,以及
* [`only`和`except`](/docs/ci/yaml#onlyexcept-basic) ,它们是不推荐使用的候选对象。
* [`only`和`except`](/docs/ci/yaml#only--except) ,它们是不推荐使用的候选对象。
与变量和触发的流水线变量结合使用时,这特别有用。
......@@ -508,7 +493,7 @@ deploy:
如果`only`使用时`variables`任何条件评估为 true,则会创建一个新流水线任务。 如果在使用`except`任何表达式的结果为 true,则不会创建流水线任务。
这遵循[`only` / `except`策略](/docs/ci/yaml#onlyexcept-advanced)的常规规则。
这遵循[`only` / `except`策略](/docs/ci/yaml#only--except)的常规规则。
### CI/CD 变量表达式的语法[](#syntax-of-environment-variable-expressions "Permalink")
......@@ -595,7 +580,7 @@ deploy_staging:
- if: '$RELEASE =~ $STAGINGRELS'
```
**注意:**可用的正则表达式语法受到限制。
**注意**:可用的正则表达式语法受到限制。
如果需要,你可以使用测试流水线来确定正则表达式是否可以在变量中工作。 下面的示例直接从变量内部测试`^mast.*`正则表达式:
......
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7