gcloud:如何通过cli下载应用程序

Chr*_*ler 5 google-app-engine google-cloud-platform gcloud

我用gcloud预览应用程序部署解析了一个应用程序.

有没有办法将其下载到其他本地机器?我怎样才能获得这些文件?我通过ssh尝试了没有成功(无法访问docker目录)

更新:我发现了这个:

gcloud preview app modules download default --version 1 --output-dir=my_dir
Run Code Online (Sandbox Code Playgroud)

但它不是加载文件

日志

Downloading module [default] to [my_dir/default]
Fetching file list from server...
|- Downloading [0] files...                                 -|
Run Code Online (Sandbox Code Playgroud)

Ami*_*ire 12

两年后我来到Google App Engine,我发现他们已经做了很多改进并增加了大量的功能.但遗憾的是,他们的文档有时候还有很多不足之处.

我曾经appcfg.py使用以下命令下载上传版本的代码.

appcfg.py download_app -A <app_id> -V <version> <output-dir>

但是,当然现在他们已经达到了gcloud shell中appcfg.py无法访问的所有内容.

但是,以下方法帮助我下载了部署的代码:

  1. 进入控制台并进入Google App Engine.
  2. 选择要使用的项目.

  3. 项目的仪表板打开后,单击右上角以打开内置控制台窗口.

    在此输入图像描述

  4. 哪个应该在底部加载云外壳,现在如果您检查appcfg.py可以在此VM中使用它.

    输入imagedescription她[2]

  5. 因此,用于appcfg.py download_app -A <app_id> -V <version> <output-dir>下载代码.

  6. 现在,一旦您将代码放在所需的文件夹中,就可以在本地计算机上下载它 - 您可以打开泊坞代码编辑器

    在此输入图像描述

  7. 现在我假设我右键单击并导出它可以工作的所需文件夹,

    在此输入图像描述

    但它给了我以下错误信息.

    {"Error":"'concurrency' must be a number but it is [object Undefined]","Message":"'concurrency' must be a number but it is [object Undefined]"}
    
    Run Code Online (Sandbox Code Playgroud)
  8. 所以,我想如果该文件夹是一个存档,它可能会很好地发挥.回到云外壳并使用您想要的任何实用程序来存档该文件夹

    zip -r mycode.zip mycode
    
    Run Code Online (Sandbox Code Playgroud)
  9. 转到docker代码编辑器,导出和下载.

    在此输入图像描述

现在.当然,可能有更多的方法(希望如此),但这是在2年后返回Google App Engine后对我有意义的.


Zac*_*man 3

目前,最好的方法是将文件从 Docker 中拉出。

将实例置于自我管理模式,以便您可以通过 ssh 进入它:

$ gcloud preview app modules set-managed-by default --version 1 --self
Run Code Online (Sandbox Code Playgroud)

查找实例的名称:

$ gcloud compute instances list | grep gae-default-1
Run Code Online (Sandbox Code Playgroud)

将其从 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
[...]
Run Code Online (Sandbox Code Playgroud)