Развертывание Astro сайта
Готовы собрать и развернуть свой сайт, созданный с помощью Astro? Следуйте одному из наших руководств по развертыванию на различных сервисах, или прокрутите вниз для общего руководства по развертыванию сайта, созданного с помощью Astro.
Гайды по деплою
Отфильтровать по типу деплояБыстрый вариант развертывания
Вы можете собрать и развернуть сайт, созданный с помощью Astro, на множестве хостинг-провайдеров с помощью интерфейса веб-панели управления или через командную строку (CLI).
Веб-интерфейс
Быстрый способ развертывания вашего сайта - подключить онлайн-репозиторий Git вашего проекта Astro (например, GitHub, GitLab, Bitbucket) к провайдеру хостинга и воспользоваться возможностью непрерывного развертывания (continuous deployment) с использованием Git.
Эти хостинг-платформы автоматически обнаруживают изменения в исходном репозитории вашего проекта Astro, создают версию сайта и развертывают ее в интернете по настраиваемому URL или вашему личному домену. Часто настройка развертывания на этих платформах будет выглядеть примерно следующим образом:
-
Добавьте ваш репозиторий на онлайн-платформе Git (например, в GitHub, GitLab, Bitbucket)
-
Выберите хостинг-провайдера, поддерживающего непрерывное развертывание (например, Netlify (EN) или Vercel (EN)) и импортируйте ваш репозиторий Git как новый сайт/проект.
Многие распространенные хостинги автоматически распознают ваш проект как сайт, созданный с помощью Astro, и должны выбрать соответствующие настройки конфигурации для создания и развертывания вашего сайта, как показано ниже. (Если этого не происходит, настройки можно изменить.)
- Команда сборки:
astro build
илиnpm run build
- Директория публикации:
dist
- Команда сборки:
-
Нажмите “Deploy” и ваш новый сайт будет создан по уникальному URL на выбранном хостинге (например,
new-astro-site.netlify.app
).
Хостинг-провайдер автоматически настроится на отслеживание изменений в основной ветке вашего репозитория на Git-платформе и перестроит и обновит ваш сайт при каждом новом коммите. Эти настройки обычно могут быть изменены в веб-интерфейсе (веб-панели управления) вашего хостинг-провайдера.
Развертывание с помощью CLI
Некоторые хостинг-провайдеры предоставляют свой собственный интерфейс командной строки (CLI), который можно установить глобально на вашу машину с помощью npm. Обычно, развертывание с помощью CLI выглядит примерно следующим образом:
-
Установите CLI вашего хостинг-провайдера глобально, например:
-
Запустите CLI и следуйте инструкциям по авторизации, настройке и т.д.
-
Соберите ваш сайт и разверните его на хостинге.
Многие распространенные хостинги автоматически распознают ваш проект как сайт, созданный с помощью Astro, и должны выбрать соответствующие настройки конфигурации для создания и развертывания вашего сайта, как показано ниже. (Если этого не происходит, настройки можно изменить.)
- Команда сборки:
astro build
илиnpm run build
- Директория публикации:
dist
Другие хостинг-провайдеры могут потребовать от вас сборки вашего сайта локально и развертывания с помощью командной строки..
- Команда сборки:
Сборка сайта локально
Многие хостинг-провайдеры, такие как Netlify и Vercel, будут собирать ваш сайт за вас и затем публиковать результат на веб-сервере. Однако некоторые хостинги требуют от вас сначала локально собрать сайт, а затем запустить команду для развертывания или загрузить результат сборки.
Также может быть полезно собрать сайт локально для предварительного просмотра и проверки на наличие ошибок и предупреждений в собственной среде.
Запустите команду npm run build
чтобы собрать ваш Astro сайт.
По умолчанию, результат сборки будет размещен в dist/
. Это местоположение можно изменить, используя опцию outDir
(EN).
Добавление адаптера для SSR
Перед тем, как развернуть ваш сайт Astro с SSR (server-side rendering) (EN) убедитесь, что вы:
- Установили соответствующий адаптер (EN) в зависимости вашего проекта (вручную или с помощью команды
astro add
, например,npx astro add netlify
). - Добавили адаптер (EN) в ваш файл
astro.config.mjs
в виде импорта и экспорта по умолчанию при установке вручную.. (Командаastro add
возьмет на себя этот шаг!)