我有一个使用cf push推送到cf的应用程序。现在,我更改了环境变量之一,然后使用cf restage重新启动应用程序。我了解的是,当我们进行重新调整时,它将再次编译小滴并按照cf push再次为应用程序进行构建。所以我想知道这两个命令之间的区别以及cf在内部如何处理此区别?
答案 0 :(得分:1)
区别在于,一个上传文件,另一个不上传文件。
运行cf push
时,cli将删除本地文件系统中的位,上传它们,暂存您的应用,如果成功,则运行您的应用。如果您对应用程序中的文件进行了更改并想要部署它们,这就是您想要的。
cf restage
时,cli不会上传任何内容。它将重新启动您的应用程序,如果成功,则运行该应用程序。如果没有应用程序更改或您没有应用程序源代码,这就是您想要的,但是您想强制构建包再次运行并使用新的Droplet重新启动应用程序。
cf restart
时,cli不会上传或恢复,它只会停止并启动应用程序。这是最快的选项,但是仅在您只需要接收环境更改(例如更改的服务,内存限制或环境变量)时才有效。如果您只想尝试将您的应用程序放置在其他Diego Cell上,那也很好。
如果您只是对环境变量进行更改,那么除非cf restart
这样的环境包正在使用这些环境变量,否则您可能会放弃使用JBP_CONFIG_*
。
希望有帮助!