0

从 jazz.net 部署后,我正在努力使用 bluemix 重置我的环境值

要复制错误,请执行以下操作

从 bluemix 控制台,console.ng.bluemix.net - 查找应用程序 - 转到运行时 -> 环境变量 - 添加变量 在此处输入图像描述

然后点击保存。这将重新启动应用程序并使用您刚刚输入的环境变量。

现在转到 hub.jazz.net,找到您项目的 git,然后按顶部的播放按钮进行部署。

在此处输入图像描述

您的应用程序将重新启动。

然后,如果您返回控制台并检查环境变量,您会发现它们已丢失

在此处输入图像描述

我相信这不是正常行为,从 jazz 部署后 env 变量应该持续存在。即使事实并非如此,也有办法持久化它们,而无需对它们进行硬编码。

4

1 回答 1

1

根据Cloud Foundry 文档,这似乎是正常行为。我也期待这种行为,因为每次部署你基本上都有一个新的应用程序。

环境变量通过以下方式与清单交互:

  • 当您第一次部署应用程序时,Cloud Foundry 会读取 manifest 的 environment 块中描述的变量,并将它们添加到应用程序暂存的容器的环境中,以及应用程序部署的容器的环境中。

  • 当您停止然后重新启动应用程序时,其环境变量仍然存在。

这是清单文件中定义的环境变量的行为。它还暗示了如何保持变量,即通过清单文件设置它。添加一个新的部分/条目:

env:
  PARSE_DASHBOARD_ALLOW_INSECURE_HTTP: 1

这是半硬编码的,但不在应用程序本身中。

另一种选择是cf set-env在部署过程中执行命令。这将从命令行创建和设置环境变量。

于 2017-01-12T08:23:46.767 回答