gcloud:如何通过cli下载应用程序
gcloud: how to download the app via cli
我使用 gcloud preview app deploy 部署了一个应用程序。
有没有办法下载到其他本地机器上?
我怎样才能得到这些文件?我通过 ssh 尝试过但没有成功(无法访问 docker 目录)
更新:
我发现了这个:
gcloud preview app modules download default --version 1 --output-dir=my_dir
但它没有加载文件
日志
Downloading module [default] to [my_dir/default]
Fetching file list from server...
|- Downloading [0] files... -|
目前,执行此操作的最佳方法是从 Docker 中提取文件。
将实例置于自我管理模式,以便您可以通过 ssh 进入它:
$ gcloud preview app modules set-managed-by default --version 1 --self
查找实例名称:
$ gcloud compute instances list | grep gae-default-1
将其从 Docker 容器中复制出来,更改权限,然后将其复制回本地计算机:
$ gcloud compute ssh --zone=us-central1-f gae-default-1-1234 'sudo docker cp gaeapp:/app /tmp'
$ gcloud compute ssh --zone=us-central1-f gae-default-1-1234 "chown -R $USER /tmp/app"
$ gcloud compute copy-files --zone=us-central1-f gae-default-1-1234:/tmp/app /tmp/
$ ls /tmp/app
Dockerfile
[...]
我在两年后来到 Google App Engine,我看到他们做了很多改进并添加了大量功能。但遗憾的是,他们的文档有时还有很多不足之处。
我曾经使用以下命令通过 appcfg.py
下载上传版本的代码。
appcfg.py download_app -A <app_id> -V <version> <output-dir>
当然,现在他们已经完成了 gcloud shell 中的所有内容,其中 appcfg.py
无法访问。
但是,以下方法帮助我下载了已部署的代码:
- 转到控制台并进入 Google App Engine。
Select 您要使用的项目。
项目的仪表板打开后,单击右上角的
打开内置控制台 window.
应该在底部加载云 shell,现在如果您检查 appcfg.py
是否可供您在此 VM 中使用。
因此,使用appcfg.py download_app -A <app_id> -V <version> <output-dir>
下载代码。
现在一旦您在所需文件夹中有了代码,为了将它下载到您的本地计算机上 - 您可以打开 docker 代码编辑器
现在我假设如果我右键单击并导出所需的
可以使用的文件夹,
但它给了我以下错误信息。
{"Error":"'concurrency' must be a number but it is [object Undefined]","Message":"'concurrency' must be a number but it is [object Undefined]"}
所以,我想如果文件夹
是一个档案。回到云端 shell 并使用任何东西
你喜欢的实用程序制作文件夹的存档
zip -r mycode.zip mycode
进入docker代码编辑器,导出并下载。
现在。当然,可能还有更多方法(希望如此),但在 2 年后回到 Google App Engine 后,这对我来说很有意义。
恕我直言,今天(2018 年 8 月)的最佳选择是:
在主菜单下的“产品”下,转到 Tools -> Cloud Build -> Build history
。
在那里,单击所需构建的 ID。
然后,在打开的window(Build details)中,点击source
link,开始下载你的压缩代码。
就这么简单。
HTH.
自 2021 年 2 月起,您可以使用 pip 安装 appengine-sdk
pip install appengine-sdk
安装后,appcfg 可用于下载应用程序代码。
python -m appcfg download_app -A app_id [ -V version ] out-dir
我使用 gcloud preview app deploy 部署了一个应用程序。
有没有办法下载到其他本地机器上? 我怎样才能得到这些文件?我通过 ssh 尝试过但没有成功(无法访问 docker 目录)
更新: 我发现了这个:
gcloud preview app modules download default --version 1 --output-dir=my_dir
但它没有加载文件
日志
Downloading module [default] to [my_dir/default]
Fetching file list from server...
|- Downloading [0] files... -|
目前,执行此操作的最佳方法是从 Docker 中提取文件。
将实例置于自我管理模式,以便您可以通过 ssh 进入它:
$ gcloud preview app modules set-managed-by default --version 1 --self
查找实例名称:
$ gcloud compute instances list | grep gae-default-1
将其从 Docker 容器中复制出来,更改权限,然后将其复制回本地计算机:
$ gcloud compute ssh --zone=us-central1-f gae-default-1-1234 'sudo docker cp gaeapp:/app /tmp'
$ gcloud compute ssh --zone=us-central1-f gae-default-1-1234 "chown -R $USER /tmp/app"
$ gcloud compute copy-files --zone=us-central1-f gae-default-1-1234:/tmp/app /tmp/
$ ls /tmp/app
Dockerfile
[...]
我在两年后来到 Google App Engine,我看到他们做了很多改进并添加了大量功能。但遗憾的是,他们的文档有时还有很多不足之处。
我曾经使用以下命令通过 appcfg.py
下载上传版本的代码。
appcfg.py download_app -A <app_id> -V <version> <output-dir>
当然,现在他们已经完成了 gcloud shell 中的所有内容,其中 appcfg.py
无法访问。
但是,以下方法帮助我下载了已部署的代码:
- 转到控制台并进入 Google App Engine。
Select 您要使用的项目。
项目的仪表板打开后,单击右上角的 打开内置控制台 window.
应该在底部加载云 shell,现在如果您检查
appcfg.py
是否可供您在此 VM 中使用。因此,使用
appcfg.py download_app -A <app_id> -V <version> <output-dir>
下载代码。现在一旦您在所需文件夹中有了代码,为了将它下载到您的本地计算机上 - 您可以打开 docker 代码编辑器
现在我假设如果我右键单击并导出所需的 可以使用的文件夹,
但它给了我以下错误信息。
{"Error":"'concurrency' must be a number but it is [object Undefined]","Message":"'concurrency' must be a number but it is [object Undefined]"}
所以,我想如果文件夹 是一个档案。回到云端 shell 并使用任何东西 你喜欢的实用程序制作文件夹的存档
zip -r mycode.zip mycode
进入docker代码编辑器,导出并下载。
现在。当然,可能还有更多方法(希望如此),但在 2 年后回到 Google App Engine 后,这对我来说很有意义。
恕我直言,今天(2018 年 8 月)的最佳选择是:
在主菜单下的“产品”下,转到 Tools -> Cloud Build -> Build history
。
在那里,单击所需构建的 ID。
然后,在打开的window(Build details)中,点击source
link,开始下载你的压缩代码。
就这么简单。
HTH.
自 2021 年 2 月起,您可以使用 pip 安装 appengine-sdk
pip install appengine-sdk
安装后,appcfg 可用于下载应用程序代码。
python -m appcfg download_app -A app_id [ -V version ] out-dir