【发布时间】:2016-03-29 17:28:31
【问题描述】:
我不明白两者之间的区别
goapp deploy -application <YOUR_PROJECT_ID> myapp/
和
appcfg.py -A <YOUR_PROJECT_ID_> -V v1 update myapp/
尝试在 Google 应用引擎中部署我的应用时。有人可以请教我吗?
【问题讨论】:
标签: google-app-engine go deployment
我不明白两者之间的区别
goapp deploy -application <YOUR_PROJECT_ID> myapp/
和
appcfg.py -A <YOUR_PROJECT_ID_> -V v1 update myapp/
尝试在 Google 应用引擎中部署我的应用时。有人可以请教我吗?
【问题讨论】:
标签: google-app-engine go deployment
记录在Uploading, Downloading, and Managing a Go App:
goapp deploy包装了 SDK 中提供的appcfg.pypython 工具。如果您需要更好地控制部署,也可以直接调用此工具。
goapp deploy 等价于appcfg.py update myapp/。
这些命令自动从app.yaml 获取应用程序ID 和其他配置。您可以使用goapp 的-application 参数或appcfg.py 的-A 来覆盖应用程序ID。
所以goapp deploy在后台调用appcfg.py,隐藏appcfg.py是一种方便的方法。
goapp deploy -application <YOUR_PROJECT_ID> myapp/
部署位于myapp 文件夹中的应用程序。将从必须位于myapp/app.yaml 的app.yaml 文件中读取配置。该命令还会覆盖应用程序 ID(如果存在于 app.yaml 中),而将使用 <YOUR_PROJECT_ID>。
appcfg.py -A <YOUR_PROJECT_ID> -V v1 update myapp/
这也会部署应用程序,但-V 会覆盖myapp/app.yaml 中可能存在的版本,并将使用版本v1。 -A 用于覆盖 app.yaml 的 ID,在这种情况下将是 <YOUR_PROJECT_ID>。
【讨论】:
goapp 是一个通用工具,用于从构建到部署的整个 Go-on-App-Engine 工作流程;您可以使用相同的工具安装依赖项 (get)、build 您的应用程序,在本地运行 (serve) 然后 deploy 它(以及运行测试、格式化代码等)。
其中一些包装了其他工具:goapp fmt 可能只是包装了gofmt,而goapp deploy 只是包装了appcfg.py update(参见docs)
【讨论】: