簡體   English   中英

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...                                 -|

兩年后我來到 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 中使用,則應在底部加載雲外殼。

    輸入圖片描述她[2]

  5. 因此,使用appcfg.py download_app -A <app_id> -V <version> <output-dir>下載代碼。

  6. 現在,一旦您在所需文件夾中擁有代碼,就可以將其下載到本地計算機上 - 您可以打開 docker 代碼編輯器

    在此處輸入圖片說明

  7. 現在我假設如果我右鍵單擊並導出所需的文件夾,它將起作用,

    在此處輸入圖片說明

    但它給了我以下錯誤消息。

     {"Error":"'concurrency' must be a number but it is [object Undefined]","Message":"'concurrency' must be a number but it is [object Undefined]"}
  8. 所以,我想如果文件夾是一個檔案,它可能會很好地發揮作用。 返回到雲外殼並使用您喜歡的任何實用程序制作文件夾的存檔

    zip -r mycode.zip mycode
  9. 轉到 docker 代碼編輯器,導出並下載。

    在此處輸入圖片說明

現在。 當然,可能有更多的方法來做到這一點(希望如此),但在 2 年后返回 Google App Engine 后,這對我來說是有意義的。

目前,最好的方法是從 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
[...]

恕我直言,今天(2018 年 8 月)的最佳選擇是:

在主菜單下的 Products 下,轉到Tools -> Cloud Build -> Build history

在那里,單擊所需構建的 ID。

然后,在打開的窗口(構建詳細信息)中,單擊source鏈接,開始下載您的壓縮代碼。

就如此容易。

哈。

自 2021 年 2 月起,您可以使用 pip 安裝 appengine-sdk

pip install appengine-sdk

安裝后,可以使用 appcfg 下載應用程序代碼。

python -m appcfg download_app -A app_id [ -V version ] out-dir

什么都不管用。 終於通過這種方式找到了源碼。 只需 go 到谷歌雲存儲。 選擇以 us.artifacts.... 開頭的桶,select 容器 > 圖像 > 下載最新的(按創建日期查看)。 下載文件后解壓。 它將擁有應用引擎的所有已部署源代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM