До 12.5 млн токенов на тест ИИ-агента
Вход/ Регистрация
На главную
Облачные сервисы

Деплой из Dockerfile

Сервис App Platform позволяет развернуть приложение с помощью Dockerfile, размещенного в репозитории. Благодаря этому вы можете деплоить любые приложения, в том числе созданные на фронтенд- и бэкенд-фреймворках, которые сервис не поддерживает напрямую.

У нас есть туториал с примером развертывания приложения через Dockerfile.

Требования для запуска

  • Dockerfile может быть размещен в корне репозитория или по пути, который вы укажете в поле «Путь до директории проекта», и должен содержать необходимые инструкции для сборки и запуска и приложения. Пример докерфайла и приложения можно найти на Гитхабе.
  • В Dockerfile должен быть прописан параметр EXPOSE, чтобы сервис мог определить, какой порт должен слушать веб-сервер. Если EXPOSE не задан, веб-сервер по умолчанию будет слушать порт контейнера 8080.

Пример:

    
FROM python:3.6 MAINTAINER Name Name "mail@mail.com" COPY . /app WORKDIR /app RUN pip install -r requirements.txt ENTRYPOINT ["python"] CMD ["app.py"] EXPOSE 3478
  • Необходимые переменные окружения могут быть заданы как в самом докерфайле, так в процессе запуска приложения в панели управления.

Шаг 1. Выбор приложения

В пункте «Тип» перейдите на вкладку Dockerfile.

Cd26173f E5e9 45eb 9775 D9dd0f4eced0

Шаг 2. Подключение репозитория

Выберите репозиторий с приложением. В корне репозитория должен быть размещен Dockerfile. 

Репозиторий можно подключить:

  • Из вашего аккаунта GitHub, GitLab или BitBucket. Кликните на название платформы, авторизуйтесь и выберите нужный репозиторий. Если вы уже авторизованы, панель сразу покажет доступные репозитории.
  • По URL, указав ссылку на репозиторий, созданный на любой платформе. Кликните «Подключите git-репозиторий по URL» (либо «Добавить аккаунт» → «Подключите git-репозиторий по URL») и укажите Git URL репозитория. Если репозиторий приватный, введите реквизиты доступа.

Подробнее о подключении репозиториев — здесь.

Шаг 3. Выбор ветки и коммита

517295ae 5c3b 46dd Bff5 48b5cde866a5

Выберите ветку для деплоя.

В меню выбора ветки отображаются только 200 последних веток. При подключении репозитория GitLab, GitHub или Bitbucket также отображается ветка по умолчанию (master, main или default).

По умолчанию мы включаем опцию «Сборка по последнему выполненному коммиту». В этом случае App Platform выполнит деплой по самому актуальному коммиту, а в дальнейшем будет автоматически пересобирать приложение при добавлении новых коммитов в репозиторий. 

При необходимости вы сможете отключить автодеплой в дальнейшем.

Если вы хотите выбрать конкретный коммит вручную — отключите эту опцию.

7690c0ce 69f7 49cb 94b3 7afdb3d18245

Шаг 4. Регион и конфигурация сервера

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

В дальнейшем, если потребуется, вы сможете перейти на более мощный тариф.

Be4444cf 7b4f 4ddf B9db A735db4d30ab

Шаг 5. Настройка приватной сети

Image2

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

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

Шаг 6. Настройка приложения

81d357e7 4836 463f A737 27935c4ae48b

Сервис автоматически прочитает инструкции из докерфайла и соберет приложение в соответствии с ними.

Если Dockerfile размещен в корне репозитория, оставьте поле «Путь к директории проекта» пустым.

Если Dockerfile размещен в поддиректории, укажите путь к ней относительно корня в поле «Путь к директории проекта». Этот путь используется как расположение Dockerfile и становится контекстом сборки.

Вы также можете задать путь проверки состояния и переменные (ENV), если это необходимо. Если они прописаны в докерфайле, дублировать их не требуется.

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

Шаг 7. Информация о приложении

Задайте свое имя приложения, если требуется, и комментарий к нему. Это данные, которые будут отображаться в панели управления.

Также выберите, в какой проект его нужно добавить.

5c5d10af 256b 431a 8264 02c3ec0927ac

Эти настройки также можно изменить в дальнейшем.

Шаг 8. Деплой

Нажмите Запустить деплой. Как только процесс начнется, вы увидите лог деплоя на вкладке «Деплой». 

Как правило, он содержит всю необходимую информацию для устранения возможных ошибок. Если что-то пойдет не так, например, из-за наличия ошибок в коде, в логе будут выведены уведомления о них с уточнением причины проблемы. 

При первом развертывании проекта установка сервера может занять некоторое время. Как только процесс завершится, статус приложения обновится, а также вы увидите сообщение об этом в логе. 

Group 1321314123

Готово!

IP-адрес приложения и бесплатный технический домен, привязанный к нему по умолчанию, можно найти на вкладе «Дашборд». Привязать собственный домен можно по нашей инструкции.

Приложение будет доступно по 443 порту; порт 80 также открыт.

Без Названия

В дальнейшем App Platform будет отслеживать обновления в репозитории и, если включен автодеплой, автоматически перезапускать проект с новыми изменениями. 

Была ли статья полезна?
Ваш ответ поможет улучшить документацию
Пока нет комментариев