Настройки версии хостинга Firebase

Если у вас возникло чувство «Почему мне выставляют счет за это крошечное приложение» от Firebase, то этот блог для вас!

Приборная панель

Если ваш проект в настоящее время использует хостинг, вы должны увидеть свою приборную панель, как только войдете в свой проект. Вы можете нажать на историю последнего развертывания или перейти к разделу Hosting в меню.

Использование хостинга

На этом экране вы можете увидеть несколько сайтов, которые вы в настоящее время размещаете. Пока переключимся на вкладку Использование. Вы должны увидеть диаграмму с указанием года, на которой отображается динамика хранимых байтов. На моем графике это показывает недавнюю тенденцию к росту (поскольку я много развертываю).

Если такая тенденция будет продолжаться, то в конечном итоге я преодолею лимит в 1 ГБ для хранения данных на этом сайте, хотя для моих 5 МБ это займет много времени.

Обновление версии

Если у вас несколько доменов, выберите View на том, который вы хотите изменить. Когда вы окажетесь в области Manage site, вы увидите все ваши домены в верхней части, а затем историю релизов в нижней части.

Именно в разделе История релизов вы сможете выбрать настройки истории версий в гамбургер-меню.

Когда у вас появится модальное окно для изменения версий, вы увидите предполагаемое хранилище, основанное на вашем выборе. Если у вас хранится несколько (в моем случае 100) версий, вы заметите, что запускается фоновое задание, которое пометит ваши старые версии для удаления.

После завершения процесса удаления вы заметите, что ваши старые установки будут иметь индикатор Auto deleted.

REST-сервис

Вы также можете автоматизировать этот процесс, если вы не пользуетесь графическим интерфейсом администратора, с помощью Firebase Hosting API.

Скрипт оболочки

#!/bin/bash set -eo pipefail echo "Deleting existing hosting releases" SITE=$1 echo "Site: $SITE" HEADER_AUTH="Authorization: Bearer "$(gcloud auth application-default print-access-token)""; PAGE_TOKEN= FIRST=true while : do echo "Fetching releases for $PAGE_TOKEN" RELEASES=$(  curl  -sS  -H "$HEADER_AUTH"  "https://firebasehosting.googleapis.com/v1beta1/sites/$SITE/releases?pageToken=$PAGE_TOKEN&pageSize=25"  ) for RELEASE_ID in $(echo $RELEASES | jq '.releases | keys[]') do VERSION_NAME=$(echo $RELEASES | jq --raw-output ".releases[$RELEASE_ID].version.name") MESSAGE=$(echo $RELEASES | jq --raw-output ".releases[$RELEASE_ID].message") VERSION_STATUS=$(echo $RELEASES | jq --raw-output ".releases[$RELEASE_ID].version.status") if [ "$VERSION_STATUS" == "FINALIZED" ] && [ "$FIRST" == false ] then echo "Deleting release $MESSAGE ($VERSION_NAME)"; curl  -sS  -X DELETE  -H "$HEADER_AUTH"  "https://firebasehosting.googleapis.com/v1beta1/$VERSION_NAME" fi FIRST=false done if [ $(echo $RELEASES | jq --raw-output '.nextPageToken') == "null" ] then exit 0 fi PAGE_TOKEN=$(echo $RELEASES | jq --raw-output '.nextPageToken') sleep 1s done
Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий