变量级别

项目变量适用于项目中的所有环境。 环境变量适用于特定环境或分支。 环境​ 从父环境继承 ​变量定义。

您可以通过专门为环境定义变量来覆盖继承的值。 例如,要设置开发变量,请在集成环境的.magento.env.yaml文件中定义变量值。 从集成环境分支的所有环境都会继承这些值。 有关使用.magento.env.yaml文件配置环境的详细信息,请参阅部署配置

CLI

要使用Cloud CLI设置变量

  • 项目特定的变量 — 为项目中的​ 所有 ​环境设置相同的值。 这些变量在所有环境中都可在生成和运行时使用。

    code language-bash
    magento-cloud variable:create --level project --name <variable-name> --value <variable-value>
    
  • 特定于环境的变量 — 为​ 特定 ​环境设置唯一值。 这些变量在运行时可用,并由子环境继承。 使用-e选项在命令中指定环境。

    code language-bash
    magento-cloud variable:create --level environment --name <variable-name> --value <variable-value>
    

设置特定于项目的变量后,必须手动重新部署远程环境,以使更改生效。 推送新的承诺以触发重新部署。

控制台

要使用Cloud Console ​设置变量:

  1. 在​ Cloud Console ​中,单击项目导航右侧的配置图标。

    配置项目 {width="36"}

  2. 要设置项目级别的变量,请在​ 项目设置 ​下单击​ 变量

    项目变量

  3. 要设置环境级变量,请在​ 环境 ​列表中,选择一个环境,然后单击​ Variables ​选项卡。

    环境变量选项卡

  4. 单击​ Create variable

  5. 提供变量的名称和值。 从以下选项中进行选择:

    • 运行时可用
    • 在构建期间可用
    • JSON值
    • 敏感变量(隐藏在控制台和CLI响应中的值)
    • 使可继承(子环境可以继承环境级变量)
  6. 单击​ Create variable

note caution
CAUTION
在Cloud Console中设置特定于环境的变量会自动重新部署环境。

可见性

您可以使用--visible-<build|runtime>命令限制变量在生成或运行时的可见性。 此外,还可以选择设置继承和敏感度。

使用以下选项可防止查看或继承变量:

  • --inheritable false — 禁用子环境的继承。 这对于在master分支上设置仅用于生产的值以及允许所有其他环境使用同名的项目级变量非常有用。
  • --sensitive true — 在Cloud Console中将变量标记为​ 不可读。 您不能在用户界面中查看变量;但是,您可以从应用程序容器中查看变量,就像任何其他变量一样。

下面演示了阻止查看或继承变量的特定情况。 只能在CLI中指定这些选项。 此案例并非适用于所有可用的环境变量。

magento-cloud variable:create --name <variable-name> --value <variable-value> --inheritable false --sensitive true

验证变量级别和值

您可以使用Cloud CLI查看现有变量的列表。

magento-cloud variables
Variables on the project Project-Name (<project-id>), environment <environment-name>:
+----------------------------+-------------+-------------------------------------------+
| Name                       | Level       | Value                                     |
+----------------------------+-------------+-------------------------------------------+
| env:COMPOSER_AUTH          | project     | {                                         |
|                            |             |    "http-basic": {                        |
|                            |             |       "repo.magento.com": {               |
|                            |             |       "username":                         |
|                            |             | "<public-key>",                           |
|                            |             |       "password":                         |
|                            |             | "<private-key>"                           |
|                            |             |     }                                     |
|                            |             |   }                                       |
|                            |             | }                                         |
| ADMIN_EMAIL                | project     | admin@123.com                             |
| ADMIN_EMAIL                | environment | admin@123.com                             |
| ADMIN_PASSWORD             | environment | password                                  |
| ADMIN_URL                  | environment | admin123                                  |
| ADMIN_USERNAME             | environment | admin                                     |
| php:newrelic.license       | environment | xxxx71fb030366182117f955a22e4baf8exxxxxx  |
+----------------------------+-------------+-------------------------------------------+
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26