РазвертываниеДеплой из GitHub

Развёртывание из GitHub

Подключите репозиторий GitHub, и Lizard (lizard.build) будет собирать и переразвёртывать ваше приложение при каждом push в отслеживаемую ветку: git push to deploy. Выполните lizard add -r owner/repo, чтобы создать сервис; для приватного репозитория сначала подключите Lizard GitHub App командой lizard git connect. Это рекомендуемый способ запуска приложения, код которого хранится в GitHub. Для кода без удалённого репозитория используйте развёртывание из локального кода.

Создание сервиса из репозитория

lizard add -r your-org/your-app

Это создаёт github-сервис, клонирует репозиторий, автоматически определяет стек (lizardpack), собирает его и возвращает работающий URL. Полезные флаги:

ФлагНазначение
-r, --repo <owner/repo>Исходный репозиторий
-n, --name <name>Имя сервиса (используется в ссылках ${{name.KEY}} и на панели управления)
-v, --variables <K=V>Задать переменную окружения; можно повторять
--region <code>Регион для развёртывания
--no-deployПодключить репозиторий, но пропустить первую сборку

Приватные репозитории

Подключите приложение Lizard для GitHub один раз на аккаунт, чтобы получить доступ к приватным репозиториям:

lizard git connect
lizard git status        # show connection + repo status

Также можно подключить репозитории и управлять доступом на странице GitHub integration в панели управления (lizard open).

Подключение существующего сервиса к репозиторию

Чтобы переключить сервис на git-источник (или сменить репозиторий/ветку):

lizard service set api \
  --set sourceType=github \
  --set repoUrl=https://github.com/your-org/your-app \
  --set branch=main

Изменение поля сборки автоматически запускает пересборку работающего сервиса. Не добавляйте redeploy после этого, иначе вы поставите в очередь две сборки. Сервису, который упал или ни разу не был развёрнут, нужен lizard redeploy.

Примечание: lizard up всегда принудительно включает sourceType=upload. Не используйте его для обновления git-сервиса — отправьте push в удалённый репозиторий или используйте lizard redeploy.

Автоматическое переразвёртывание при push

После настройки repoUrl пуши в соответствующую branch автоматически переразвёртывают сервис через вебхук GitHub. Подключите приложение Lizard для GitHub (lizard git connect), чтобы Lizard получал push-события репозитория. Чтобы ограничить, какие пуши запускают переразвёртывание:

  • rootDirectory — собирать только подкаталог (монорепозитории).
  • watchPatterns — переразвёртывать только при изменении соответствующих путей.
lizard service set api --set watchPatterns='apps/api/**,packages/**'

Смена веток

lizard git checkout api staging      # move the `api` service to the `staging` branch and redeploy

Монорепозитории

Для репозитория с несколькими приложениями создайте отдельный сервис для каждого и укажите его rootDirectory как подпуть:

lizard add -r your-org/monorepo -n api --no-deploy
lizard service set api --set rootDirectory=apps/api
lizard redeploy --service api

Если текущая директория — под-приложение внутри репозитория, чей родитель уже подключен, добавьте сервис в проект родителя и укажите rootDirectory как подпуть от cwd.

См. также

Обновлено