首页 > 解决方案 > 清单文件中的服务和环境?

问题描述

我有一个由我的团队成员开发的网络(例如在线计算器)。现在他们想使用清单在 PCF 中进行部署。

使用的语言:python、php 和 javascipt。

我用 manifest.yml 浏览了有关 pcf 的文档

因为我对服务和环境一无所知。

那是什么服务,如何找到上述项目的服务以及如何找到环境变量?

并告诉这些字段是否是在 PCF 中运行项目所必需的。

标签: manifestcloud-foundry

解决方案


对于你原来的问题:

那是什么服务,如何找到上述项目的服务以及如何找到环境变量?并告诉这些字段是否必须在 pcf 中运行项目。

您的应用程序是否需要任何服务才能运行?服务可以是数据库或消息队列之类的东西。如果没有,那么您不需要在清单中指定任何服务。它们是可选的。

同样,对于环境变量,您只需在需要配置应用程序时设置它们。否则,只需省略清单的该部分。

归根结底,您应该与开发应用程序的人交谈或阅读他们生成的文档,因为这是了解需要哪些服务或环境变量的唯一方法。

关于您的其他问题:

1)而且我还有一个查询......就像在我们的应用程序中我们使用python ok!我们使用了很多包,比如 pandas、numpy、scipy 等等……我怎样才能将所有的库导入 PCF ???Buildpacks 将只包含版本,对吗?

正确的。buildpack 仅包含 Python 本身。您的依赖项需要安装或供应。要为 Python 执行此操作,您需要包含一个requirements.txt文件。buildpack 将看到这一点并用于pip安装您的依赖项。

请参阅 Python buildpack 的文档,其中更详细地解释了这一点:https ://docs.cloudfoundry.org/buildpacks/python/index.html#pushing_apps

2)如果Java我可以附上jar文件,还告诉我我的应用程序名称的路径是什么

对于 Java 应用程序,您需要推送已编译的代码。这意味着,您需要运行类似的东西mvn packagegradle assemble构建可执行的 JAR 或 WAR 文件。这应该是一个自包含的文件,其中包含运行您的应用程序、编译类文件、配置和所有相关 JAR 所需的一切。

然后您运行cf push -p path/to/my-app.jar(或 WAR,无论您构建什么)。cf cli 将获取应用程序中的所有内容并将其推送到 Cloud Foundry,Java buildpack 将在其中安装 JVM 和可能的 Tomcat 等内容,以便您的应用程序可以运行。

我应该为使用 pyhton 、 JavaScript 和 php 开发的应用程序做些什么......

您可以使用多个构建包。请参阅此处的说明。

https://docs.cloudfoundry.org/buildpacks/use-multiple-buildpacks.html

简而言之,您可以拥有任意数量的构建包。列表中的最后一个 buildpack 是特殊的,因为它是为您的应用程序设置启动命令的 buildpack(尽管您可以cf push -c在必要时覆盖它)。非最终构建包将运行并简单地安装依赖项。

3)我们正在使用 postgresql 我如何在我的应用程序的 pcf 中使用它

运行cf marketplace并查看您的 Marketplace 中是否有任何 Postgres 提供程序。如果有,你可以做一个cf create-service <provider> <plan> <service name>,基金会会创建一个数据库供你使用。然后,您将运行 acf bind-service <app> <service name>将您创建的服务绑定到您的应用程序。这将生成凭据并在启动时将它们传递给您的应用程序。然后,您的应用程序可以从 VCAP_SERVICES 中读取凭据并使用它们连接到数据库。

有关更多详细信息,请参见此处:


推荐阅读