Публикация
Публикация и домены
Публикуйте единый релиз проекта, обновляйте или останавливайте его и подключайте домены.
Публикация всего проекта
Нажмите Опубликовать на панели рабочего пространства, чтобы открыть всплывающую панель публикации. В панели показаны статус и дата последней публикации. Переключайте вкладки приложений, чтобы посмотреть их адреса. Кнопка Опубликовать неактивна, если все публикуемые приложения уже используют текущую версию; доступное обновление отмечено жёлтым. Для выпуска изменений нажмите Опубликовать и подтвердите обновление, если появится запрос. В выпуск входят все приложения с включённой публикацией; при неудачном обновлении предыдущий полный выпуск остаётся доступен.
Amazi публикует веб-приложения и серверы. Мобильные, настольные и другие типы приложений остаются в каталоге с доступным для них превью, но показываются серым статусом и пропускаются при публикации. Мобильные и настольные приложения распространяются отдельно, например в виде установочных файлов или через магазины приложений. Также можно попросить Amazi отключить публикацию конкретного веб-приложения или сервера.
Статус публикации проекта и индикатор обновления учитывают только приложения с включённой публикацией. Неопубликованное мобильное приложение или старая публикация отключённого приложения не делают актуальный релиз устаревшим.
Публикация остаётся доступна, пока Amazi работает. Ручная публикация использует последний уже созданный Git-коммит на момент запуска релиза; последующие или незакоммиченные изменения агента в него не попадут. Когда production tool вызывает сама Amazi после изменения проекта, она сначала коммитит текущие изменения задачи и публикует этот checkpoint.
Разработка и production остаются раздельными runtime-контурами: публикация собирает управляемые production-образы и не использует редактируемые контейнеры или изменяемые volumes разработки. Исключение — управляемая PostgreSQL: development и production подключаются к одной базе проекта и поэтому читают и изменяют одни и те же данные. Публичные браузерные приложения начинают работу со сгенерированным адресом Amazi. Приватные серверные приложения собираются и работают внутри релиза, но не имеют публичного браузерного адреса.
Обновление API Amazi не останавливает опубликованные приложения. Функции, обращающиеся к API Amazi, например загрузка файлов в управляемое хранилище, могут быть временно недоступны во время обслуживания. Повторите действие после завершения обновления.
Обновление, остановка и запуск
После изменения файлов или окружения:
- Подтвердите доступное обновление.
- Дождитесь сборки и успешного health check каждого приложения.
- Проверьте полный кандидат после активации.
При ошибке кандидата Amazi сохраняет или восстанавливает предыдущий полный релиз. В момент переключения возможен короткий перерыв.
Чтобы отменить ещё выполняющуюся публикацию, нажмите Остановить обновление рядом с кнопкой публикации. Вернётся прежнее состояние: существующий сайт продолжит работать на прошлой версии, а первая публикация вернётся в неопубликованное состояние. Отмена не показывает ошибку и не добавляет сообщений в чат или уведомлений.
Когда вы просите Amazi опубликовать проект, она ожидает результат сборки и запуска. Если публикация ещё идёт, Amazi может проверить тот же выпуск без повторного запуска. Продолжающаяся публикация не означает ошибку сборки. После активации проверьте публичный адрес вместе со статусом публикации.
В карточке приложения с ошибкой полный production diagnostic остаётся доступен для скачивания. Кнопка Ask Amazi прикладывает его точные байты к новому запросу и запускает обязательные workflow-скиллы Debug и Production. Сначала Amazi отличает ошибку кода приложения от сбоя платформы или сервиса Amazi, меняет файлы проекта только при наличии подтверждений и публикует исправление только после готовности.
Удаление приложения, которое ещё не публиковалось, сразу удаляет его вместе со сгенерированным адресом Amazi. Приложение с существующим релизом ожидает удаления до следующего обновления публикации.
Остановка production удаляет маршруты и контейнеры всех приложений, но сохраняет сам релиз и объявленные production-данные. Resume запускает тот же релиз без пересборки. Перед обновлением остановленный релиз нужно возобновить.
Если сохранённые в коммите файлы содержат небезопасную ссылку, публикация останавливается с диагностикой, указывающей эту ссылку. Попросите Amazi исправить отслеживаемые файлы и создать новую версию перед повторной публикацией; повтор той же версии не устранит ошибку. Временная занятость проекта другой операцией приводит к автоматической повторной попытке и сама по себе не означает ошибку сборки приложения.
Собственный домен
У каждого публичного приложения один домен публикации: сгенерированный адрес Amazi, именной адрес Amazi или внешний домен в зависимости от тарифа владельца. Работает только выбранный домен. При выборе другого домена прежний адрес перестаёт обслуживаться и не перенаправляет посетителей.
Уже подключённые домены остаются выбранными, включая домены с незавершённой или неуспешной проверкой DNS. Приложения без подключённого домена сохраняют сгенерированный адрес. Выбранный внешний домен становится доступен после успешной проверки DNS; прежний адрес Amazi недоступен, пока проверка ожидается или завершилась ошибкой.
Чтобы изменить адрес Amazi, нажмите карандаш рядом с ним, введите название в открывшемся окне и нажмите Применить. Если название занято, выберите один из доступных вариантов или введите другое название, затем примените его. Приложение получит адрес name.app.amazi.pro. Подключение произойдёт автоматически, настраивать DNS не нужно.
Для внешнего домена откройте окно подключения через карточку Пользовательский домен. Если тариф не включает эту возможность, на карточке появятся корона и подсказка о переходе на другой тариф.
- Введите hostname без протокола и пути. Amazi автоматически преобразует национальные символы в техническую ASCII-форму для DNS.
- Добавьте точную проверочную запись TXT у DNS-провайдера.
- Добавьте A для корневого домена или CNAME для поддомена.
- Отключите proxy на время проверки, дождитесь распространения записей и нажмите Проверить DNS. У каждой записи есть отдельные кнопки копирования имени и значения.
Маршрутизация доменов Amazi сейчас использует IPv4, поэтому конфликтующая AAAA-запись блокирует проверку. Удаление именного или внешнего домена снова выбирает сгенерированный адрес Amazi. Изменение маршрута использует текущий образ, не создаёт новый релиз и не запускает остановленное приложение. Публикация доступна Editor, Full access и владельцу. Собственные домены зависят от тарифа владельца. Выпуск без бейджа проверяется по аккаунту, запускающему публикацию; если функция недоступна, публикация остаётся доступна с бейджем Amazi.
На опубликованных сайтах шаблонов отображается бейдж Template независимо от тарифа аккаунта, запускающего публикацию. Для созданных из шаблона проектов действуют обычные правила публикации.
У бейджей Development preview, Made with Amazi и Template есть крестик закрытия. Он скрывает бейдж до перезагрузки страницы.