Orbit

Развертывания предпросмотра ветки в Orbit

Branch previews build every non-production, non-staging branch you push to its own isolated URL, so you can click through a change in a real environment before it merges. This guide covers turning…

Предпросмотры веток в Orbit

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

Включение предпросмотров веток

  1. Откройте ваш проект в Orbit.
  2. Откройте вкладку Settings.
  3. Найдите раздел Runtime и включите Branch previews.

После включения каждая отправка в ветку, которая не является ни производственной веткой, ни промежуточной веткой, запускает сборку и развёртывает её в собственное окружение предпросмотра.

Branch previews toggle in Orbit project settings

Предпросмотры веток, это переключатель для каждого проекта, а не платное дополнение. Они доступны на каждом плане Orbit, включая бесплатный план Launch. Различие между планами состоит в том, сколько окружений может иметь один проект одновременно: Launch позволяет 2 (производство плюс один предпросмотр), Liftoff 4, а Apex 11. Когда проект достигает лимита окружений, новые ветки не получат собственного предпросмотра, пока вы не удалите один.

URL-адреса предпросмотра

Предпросмотр получает имя хоста, производное от названия ветки: название приводится в нижний регистр, каждый символ, который не является буквой, цифрой или дефисом, становится дефисом, последовательности дефисов сворачиваются, результат обрезается до 48 символов и имеет префикс branch-.

ВеткаИмя хоста предпросмотра
redesignbranch-redesign.kaps.run
feat/new-checkoutbranch-feat-new-checkout.kaps.run
JB/Fix_Cartbranch-jb-fix-cart.kaps.run

URL-адреса предпросмотра общедоступны для всех, у кого есть ссылка. Они не индексируются и не рекламируются, но они также не защищены паролем. Не используйте предпросмотр для проверки информации, которая не должна покидать вашу команду, и не указывайте предпросмотр на производственные данные. Если вам нужно защищённое предпроизводственное окружение, используйте вместо этого окружение staging: промежуточное окружение поддерживает пароль и список IP-адресов в разделах Staging: access protection и Staging: IP allowlist в Settings.

Где появляются предпросмотры

Вкладка Overview проекта содержит раздел Preview deployments, в котором перечислены все активные предпросмотры. Каждая строка показывает:

  • Название ветки и значок PR #number, связанный с запросом на слияние, когда у ветки он открыт
  • Текущий статус (QUEUED, BUILDING или live)
  • Время развёртывания
  • Ссылку для открытия URL-адреса предпросмотра
  • View logs для открытия страницы с деталями развёртывания
  • Кнопку удаления

Каждый предпросмотр, это полностью изолированное окружение с собственным URL-адресом, собственной сборкой и собственными переменными окружения. Ничто из того, что он делает, не может повлиять на производство.

Вкладка Branches проекта предоставляет ту же информацию, организованную по веткам, что удобнее для сканирования, когда у вас открыто несколько одновременно.

Переменные окружения в предпросмотрах

Это часть, которую стоит сделать правильно. Переменная с областью действия All environments (project-wide) вводится в сборки предпросмотра, а URL-адрес предпросмотра является общедоступным.

  • Сохраняйте производственные учётные данные только в пределах вашего производственного окружения.
  • Предоставляйте предпросмотрам тестовые или изолированные учётные данные для сторонних сервисов.
  • Никогда не оставляйте URL-адрес производственной базы данных или живой ключ платежа в области действия проекта.

Полная механика, включая то, как добавить производственную переменную и как работает наследование промежуточного окружения, описана в Setting Environment Variables Per Environment.

Журналы сборки для предпросмотра

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

Удаление предпросмотра

Нажмите кнопку удаления на строке предпросмотра и подтвердите.

Удаление предпросмотра удаляет окружение и всю его историю сборок, а не только текущее развёртывание. Это не может быть отменено. Сама ветка остаётся нетронутой, поэтому отправка в неё снова создаёт свежий предпросмотр с нуля, без истории и с холодным кешем сборки.

Автоматическая очистка

Вам не нужно убирать за собой.

  • Когда запрос на слияние закрыт или слит, его окружение предпросмотра сразу же приостанавливается и перестаёт служить. Посетители получают 404 вместо устаревшей сборки.
  • Удаление ветки приостанавливает предпросмотр этой ветки таким же образом.
  • Приостановленные предпросмотры удаляются сборщиком мусора примерно через день: исходные архивы, артефакты сборки и кеши сборки удаляются, а окружение архивируется.

Вы также можете установить истечение срока действия предпросмотров по расписанию. В Settings найдите Preview expiry и выберите Never, 7, 14, 30 или 60 дней. Предпросмотры старше этого срока автоматически приостанавливаются и очищаются в течение 24 часов.

В активном репозитории установите Preview expiry на 14 или 30 дней. Каждый активный предпросмотр считается против лимита окружений вашего проекта, а истекшие предпросмотры, обычная причина, по которой новая ветка тихо не получает предпросмотр.

Утверждение и предпросмотры

Если Require approval for production включено в разделе Deploy protection, это применяется только к производству. Сборки предпросмотра не ожидают утверждения.

Чтобы остановить развёртывание определённого предпросмотра без его удаления, приостановите окружение из вкладки Environments. Новые развёртывания в приостановленное окружение пропускаются, пока вы его не возобновите.

Устранение неполадок

Ветка отправлена, но предпросмотр не появился. Проверьте по порядку: включен ли Branch previews в Settings затем Runtime? Является ли ветка действительно вашей промежуточной веткой (промежуточное развёртывание идёт в промежуточное окружение, а не в предпросмотр)? Соответствует ли ветка одному из ваших Branch ignore patterns, например dependabot/*? Находится ли проект уже на лимите окружений для вашего плана?

Предпросмотр собран, но показывает 404. Сборка прошла успешно, но выходной каталог, вероятно, неправильный для этой ветки. Проверьте Output directory в Settings и помните, что ветка может изменить выходные данные сборки без изменения настройки. Смотрите Configuring Your Build Command and Output Directory.

Предпросмотр показывает более старый коммит. Отправка нового коммита в ту же ветку во время выполнения сборки отменяет выполняемую сборку и запускает новую. Если вы видите отменённое развёртывание, за которым следует выполняемое, это нормально. Дождитесь второй сборки.

Предпросмотр закрытого PR по-прежнему доступен. Приостановка происходит на основе события webhook. Если соединение поставщика было отключено при закрытии PR, событие никогда не прибыло. Удалите предпросмотр вручную со вкладки Overview.

Рекомендуемое чтение

Вам всё ещё нужна помощь?

Напишите нам на support@kapsulehost.com или откройте чат в KPanel.

Открыть KPanel