我有一个 .net 核心应用程序,托管在 PCF 上。我也安装了配置服务器。我想使用 iis express 这个应用程序在本地运行并加载与部署到 pcf 时相同的配置值,并且我不想将它部署到 Pcf Dev,因为我想调试它。是否可以?我唯一的解决方法是将所有变量提取到用户管理的机密中,但这很糟糕。
2 回答
Steeltoe 和 SCS 客户端查看VCAP_SERVICES
环境变量以加载他们用来与配置服务器通信的配置。在 PCF 上,此环境变量会根据您绑定到应用程序的服务自动填充信息。
我不知道有任何工具可以在本地管理/绑定服务,但您始终可以手动设置环境变量。如果您要cf env <app>
为绑定到配置服务器的应用程序运行,它将列出VCAP_SERVICES
env 变量的内容。复制该输出,将其粘贴到本地计算机上的环境变量中。启动您的应用程序,Steeltoe 或 SCS 客户端应自动获取该信息。
希望有帮助!
如果您不想连接到完全相同的配置服务器,您可以使用 Java 或 Docker 在本地运行配置服务器并将其指向相同的后端。Steeltoe 文档包括使用 Maven 运行配置服务器的说明, Music Store 示例包括显示通过 Docker 运行配置服务器的cmd和sh脚本,尽管它们可能有点过时。我最近运行 docker 命令的方式是这样的:
docker run --rm -ti -p 8888:8888 -v $PWD/config-repo:/config --name steeltoe-config steeltoeoss/configserver --spring.profiles.active=native
从包含以config-repo
该位置的相关配置文件命名的文件夹的位置。