Сервис 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. Подключение репозитория
Вы можете подключить репозиторий одним из следующих способов:
- Из аккаунта GitHub, GitLab или Bitbucket
- По ссылке
- Перейдите в раздел «App Platform» и нажмите кнопку «Создать» или «Добавить».
- Если вы уже залогинены в Git-аккаунт, панель отобразит все доступные репозитории. Выберите нужный.
- Если нужно авторизоваться в другой Git-аккаунт, раскройте список репозиториев и кликните «Добавить аккаунт».
- Кликните на иконку нужной платформы.
- Авторизуйтесь в своем Git-аккаунте и разрешите Timeweb Cloud доступ ко всем или отдельным репозиториям.
- Выберите нужный репозиторий в панели Timeweb Cloud.
- Выберите ветку для деплоя. Панель отобразит 200 последних веток, а также ветку по умолчанию (
master,mainилиdefault). -
Оставьте опцию «Сборка по последнему выполненному коммиту» включенной, чтобы автоматически перезапускать деплой приложения при появлении новых коммитов в репозитории.
Если хотите выбирать коммит для деплоя вручную, отключите эту опцию.
Автодеплой можно отключить и позже, в любой момент.
После подключения репозитория App Platform автоматически определит язык, фреймворк и версию окружения вашего приложения, но вы также можете скорректировать их вручную.
Убедитесь, что в пункте «Фреймворк» выбран «Dockerfile».
Шаг 2. Регион и конфигурация сервера
Приложения разворачиваются на отдельных облачных серверах. Выберите регион размещения и подходящую конфигурацию сервера. Вы можете выбрать один из готовых тарифов или настроить конфигурацию вручную на вкладке «Произвольная».
В дальнейшем, если потребуется, вы сможете перейти на более мощный тариф.
Шаг 3. Дополнительные настройки
Кликните «Показать расширенные настройки», чтобы задать дополнительные параметры.
App Platform автоматически прочитает инструкции из докерфайла и соберет приложение в соответствии с ними.
Здесь вы можете добавить приложение в приватную сеть и задать другие настройки.
Приватная сеть
Выберите приватную сеть, в которую будет добавлено приложение, и укажите IP-адрес, который оно будет использовать. Если приватная сеть не нужна — выберите «Без приватной сети».
Изменить приватную сеть после деплоя нельзя.
Если для приложения настроен приватный IP-адрес, во время повторного деплоя возможна кратковременная недоступность приложения.
Путь к директории проекта
Если Dockerfile размещен в корне репозитория, оставьте это поле пустым.
Если Dockerfile размещен в поддиректории, укажите путь к ней относительно корня. Этот путь используется как расположение Dockerfile и становится контекстом сборки.
Путь проверки состояния
Путь проверки состояния позволяет проверять, корректно ли работает приложение. Подробнее.
Переменные
Переменные можно использовать для передачи паролей, путей, токенов и других параметров окружения. Подробнее.
Сертификаты Минцифры / Сертификаты ТЦИ
Могут потребоваться для работы с API российских банков и государственных организаций. Подробнее.
Для приложений, развернутых из Dockerfile, для установки сертификатов потребуется дополнительная настройка.
Шаг 4. Информация о приложении
Задайте свое имя приложения, если требуется, и комментарий к нему. Это данные, которые будут отображаться в панели управления.
Также выберите, в какой проект его нужно добавить.
Эти настройки также можно изменить в дальнейшем.
Шаг 5. Деплой
Нажмите Запустить деплой. Как только процесс начнется, вы увидите лог деплоя на вкладке «Деплой».
Как правило, он содержит всю необходимую информацию для устранения возможных ошибок. Если что-то пойдет не так, например, из-за наличия ошибок в коде, в логе будут выведены уведомления о них с уточнением причины проблемы.
При первом развертывании проекта установка сервера может занять некоторое время. Как только процесс завершится, статус приложения обновится, а также вы увидите сообщение об этом в логе.
Готово!
IP-адрес приложения и бесплатный технический домен, привязанный к нему по умолчанию, можно найти на вкладе «Дашборд». Привязать собственный домен можно по нашей инструкции.
Приложение будет доступно по 443 порту; порт 80 также открыт.
В дальнейшем App Platform будет отслеживать обновления в репозитории и, если включен автодеплой, автоматически перезапускать проект с новыми изменениями.