Подтвердить что ты не робот

Как очистить старые развернутые версии в хосте Firebase?

Каждый раз, когда вы развертываете сервер Firebase, создается новая версия развертывания, поэтому вы можете откатываться назад и видеть, кто был развернут. Это означает, что каждый раз, когда каждый файл, который вы развертываете, хранится и занимает больше места.

Помимо ручного удаления каждой развернутой версии один за другим, существует ли какой-либо автоматизированный способ очистки этих бесполезных файлов?

4b9b3361

Ответ 1

Ты прав. Вам нужно будет удалить старые развернутые версии один за другим с помощью консоли Firebase Hosting.

Нет другого способа сделать это, поэтому я предлагаю вам записать запрос функции, чтобы включить удаление нескольких развернутых версий в консоль хостинга Firebase.

Update:

Вы можете проголосовать здесь (пожалуйста, избегайте +1 спама, используйте реакции) https://github.com/firebase/firebase-tools/issues/215#issuecomment-314211730 для одной из альтернатив, предложенных командой ( пакетное удаление, сохранить только версии X, сохранить версии с опубликованной датой < Y)

Ответ 2

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

Шаг 1. Получение списка версий.

  • Откройте Chrome Dev Tools (если вы не знаете, как можно ожидать, вы должны подождать подходящего решения командой Firebase).
  • Откройте Firebase Console и перейдите на вкладку "Хостинг".
  • Перейдите на вкладку "Сеть" на CDT и используйте фильтр Websockets.
  • Выберите запрос с именем .ws?v=5&ns=firebase
  • Откройте вкладку "Фреймы"
  • Теперь идет утомительная часть: выберите кадры с наивысшим значением длины. (В зависимости от ваших данных это могут быть 2-n фреймы. В моем случае 3 кадра с длиной 14k-16k)
  • Вставить каждый из данных кадра в порядке (который будет формировать действительный объект JSON).
  • Извлечение данных. Существует несколько способов сделать это. Я выбрал простой JS на консоли CDT.
    var jsonString = '...';
    var json = JSON.parse(jsonString);
    var ids = Object.keys(json.d.b.d);

Шаг 2. Выполнение запросов

Почти там: P

Теперь, когда у вас есть идентификаторы, выполните следующие запросы:

УДАЛИТЬ https://firebasehosting.clients6.google.com/v1beta1/sites/PROJECT_NAME/versions/-VERSION_ID?key=KEY

Я использовал Sublime (для создания строк запроса) + Paw.

"КЛЮЧ" можно скопировать из любого из запросов CDT. Он не соответствует ключу API Firebase Web

= > Перед выполнением запросов: обратите внимание на версию, которую вы не хотите удалять из таблицы, предоставленной Firebase. (Каждая версия, указанная на веб-сайте, содержит последние 6 цифр этого идентификатора по электронной почте)

(Скриншоты не были предоставлены, так как все они потребуют размытия и немного работы)

Ответ 3

Этот script еще не супертвердый, поэтому используйте его на свой страх и риск. Я попытаюсь обновить его позже, но теперь работал на меня. Просто несколько javascript, чтобы нажимать на кнопки для удаления развернутых элементов по одному.

var deleteDeployment = function(it) {
    it.click()
    setTimeout(function() {
        $('.md-dialog-container .delete-dialog button.md-raised:contains("Delete")').click()
    }, 300)
}
$('.h5g-hist-status-deployed').map((i, a) => $(a).parent()).map((i, a) => $(a).find('md-menu button:contains(Delete)')).each((i, it) => {
    setTimeout(function() {
        deleteDeployment(it)
    }, (i + 1) * 2000)
})

Ответ 4

Вариант Nathan замечательный, но у меня есть быстрый и грязный метод с использованием AutoHotkey. Занимает около одной секунды для удаления, поэтому вы можете выбить страницу за 10 секунд.

#a::
    Click
    MouseGetPos, xpos, ypos
    MouseMove, xpos, ypos + 30
    Sleep 300
    Click
    Sleep 400
    Click 1456, 816
    MouseMove, xpos, ypos + 82
return
#s::
    Click
    MouseGetPos, xpos, ypos
    MouseMove, xpos, ypos - 820
return

Вам, вероятно, потребуется изменить точные значения пикселей для вашего экрана, но это отлично работает на моем 1920x1080.

Win + a удаляется и переходит к следующей записи, Win + s переходит на следующую страницу. Наведите указатель мыши на первое меню с тремя точками и идите на него!