新来的CF。我的应用程序中有多个服务,其中只有第一次创建一个特定的服务(而不是每次创建)。
我使用以下代码:cf service service-name || cf create-service service-name
但是,每次部署应用程序时,它仍然会创建服务。有什么更好的方法吗?
发布于 2020-05-28 17:14:39
您应该只运行cf create-service一次。每次运行它,它都会创建一个新的服务实例。
您希望使用cf bind-service或使用manifest.yml将服务绑定到应用程序。如果将服务名称绑定到manifest.yml中,那么它就会自动发生。否则,您需要在必要时手动运行cf bind-service,这实际上只在您最初推送或更改服务实例之后才运行一次。
至于你的命令,似乎没问题。如果没有找到您指定的服务名称,cf service应该返回1,这将触发创建服务的命令的第二部分。同时,如果您尝试创建一个名称已经存在的服务,cf create-service肯定会失败。上面写着The service instance name is taken: foo。因此,如果您看到服务实例是通过运行该命令重新创建的,则可能会在此之前删除它。可能检查您拥有的任何部署代码,并检查是否有什么东西意外地删除了该服务实例。您通常不想删除一个服务实例,除非您真的、真的完成了它。通常,只要解除服务的绑定就足够了。
https://stackoverflow.com/questions/62057118
复制相似问题