首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pivitoal基础中,是否有办法为每个空间设置SPRING_PROFILES_ACTIVE?

在Pivitoal基础中,是否有办法为每个空间设置SPRING_PROFILES_ACTIVE?
EN

Stack Overflow用户
提问于 2019-01-03 02:05:21
回答 1查看 1.3K关注 0票数 0

对于一个组织中的每个空间,使用Pivotal (PCF),有办法为每个空间设置SPRING_PROFILES_ACTIVE吗?

  • space1: SPRING_PROFILES_ACTIVE:发展
  • space2: SPRING_PROFILES_ACTIVE:性能
  • space3: SPRING_PROFILES_ACTIVE:生产
  • 等等。

谢谢你,布莱恩

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-06 20:00:58

在Cloud上设置Spring概要文件的主要方法是通过环境变量。

Cloud没有提供一种方法来设置每个组织或空间的环境变量组。您只能设置一个暂存和一个运行环境变量组,它适用于所有暂存或所有正在运行的应用程序。此外,还提供了在应用程序上设置环境变量的标准工具。

我想你也许能让这件事成功,但这需要付出一点努力。我的想法是。

  1. 创建一个定制的构建包(不要惊慌,这并不难)。构建包的唯一职责是创建一个包含.profile.d/export SPRING_PROFILES_ACTIVE=<some-profile>脚本(只是一个普通的Bash脚本)。 任何构建包都可以创建.profile.d/脚本,这些脚本主要用于配置环境变量。这些脚本是在任何应用程序启动之前由环境自动获取的。因此,如果buildpack在这里设置了SPRING_PROFILES_ACTIVE,它将对您的应用程序可用并生效。 https://docs.cloudfoundry.org/buildpacks/custom.html#contract 您只需要创建bin/supplybin/detect脚本,如下面的链接所定义。bin/supply是您将逻辑用于创建.profile.d/脚本的地方,而bin/detect可能与exit 0一样简单,后者只会告诉它始终运行。 https://docs.cloudfoundry.org/buildpacks/understand-buildpacks.html#buildpack-scripts
  2. 您的自定义构建包可以像使用硬编码配置文件一样简单,也可以很花哨地查看包含空间名称的VCAP_APPLICATION环境。 例:echo $VCAP_APPLICATION | jq .space_name. 然后,buildpack可以应用逻辑来设置给定空间名称的正确配置文件。我不认为该应用程序在暂存/运行时可以使用组织名称,至少不能通过环境变量使用,因此在此基础上应用逻辑将更加困难。
  3. 最后一步是使用CF的多构建包支持。您的自定义buildpack将是一个供应的buildpack,因此它将是第一个,然后您将列出实际的buildpack,以便在您推送应用程序时第二次使用。 例:cf push -b https://github.com/your-profile/your-custom-buildpack -b java_buildpack your-cool-app. https://docs.cloudfoundry.org/buildpacks/use-multiple-buildpacks.html

希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54015467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档