gcloud: как загрузить приложение через cli
Я depolyed приложение gcloud просматривать приложения развернуть.
Есть ли способ загрузить его на другую локальную машину? Как я могу получить файлы? Я попробовал его через ssh без успеха (не могу получить доступ к docker dir)
Обновление: Я нашел это:
gcloud preview app modules download default --version 1 --output-dir=my_dir
Но это не загрузка файлов
Log
Downloading module [default] to [my_dir/default]
Fetching file list from server...
|- Downloading [0] files... -|
3 ответа:
В настоящее время лучший способ сделать это-вытащить файлы из 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
Используя следующую команду.
Но, конечно, теперь, когда они достигли кульминации всего в оболочке gcloud, где
appcfg.py download_app -A <app_id> -V <version> <output-dir>
appcfg.py
недоступно.Однако, следующий метод помог мне загрузить развернутый код.
- перейдите на консоль и откройте движок приложений Google.
Выберите проект, с которым вы хотите работать.
Как только откроется панель мониторинга проекта, Нажмите в правом верхнем углу, чтобы откройте встроенное окно консоли.
Который должен загрузить облачную оболочку в нижней части, теперь, если вы проверите
appcfg.py
доступно для использования в этой виртуальной машине.Поэтому используйте
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]"}
Итак, я подумал, что, возможно, это будет хорошо подыгрывать, если папка это был архив. Вернитесь в облачную оболочку и используйте все что угодно утилита, которую вы хотите сделать архивом папки
zip -r mycode.zip mycode
Перейдите в редактор кода docker, экспортируйте и загрузите.
Теперь. конечно, есть еще много способов сделать это (надеюсь), но это то, что имело смысл для меня после возвращения в Google App Engine после 2 годы.
ИМХО, лучший вариант сегодня (август 2018):
В главном меню в разделе Продукты перейдите к пункту
Tools -> Cloud Build -> Build history
.Там щелкните по идентификатору нужной сборки.
Затем в открывшемся окне (сведения о сборке) щелкните ссылку
source
, начнется загрузка вашего сжатого кода.Вот так просто.
HTH.