Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Деплой приложения Flask

Деплой проекта

Шаг 1. Заказа сервиса

Чтобы развернуть проект, созданный на Flask, перейдите в раздел Apps и кликните на кнопку «Создать».

Выберите Backend-приложение.

Step1

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

Если вы уже авторизованы в аккаунте GitHub, GitLab или Bitbucket, панель автоматически отобразит доступные репозитории. Выберите нужный.

37513073 880a 4d69 96ca E49b6b66fb43

Если вы авторизованы, но нужного репозитория нет в списке

3f31ba98 1140 4674 8a28 744638edfede

  1. Кликните «Добавить аккаунт».

  2. Выберите платформу.

  3. Авторизуйтесь при необходимости.

  4. Выберите нужные репозитории и сохраните изменения.

  5. Выберите в панели репозиторий для деплоя. 

Если вы еще не авторизованы

Step2

  1. Кликните GitHub, GitLab или Bitbucket.

  2. Авторизуйтесь в своем аккаунте.

  3. Предоставьте доступ к нужным репозиториям.

  4. Выберите в панели репозиторий для деплоя. 

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

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

Af9f847d C518 4416 Bed7 1579e16d8b14

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

Шаг 4. Настройка параметров сборки

13459acf A2f4 45d8 8bc8 04dc4837c769

1. Выберите окружение Python, далее Flask из списка фреймворков.

2. Сервис автоматически определит команду сборки и директорию сборки для вашего проекта, поэтому эти параметры можно оставить без изменений. Если в проекте есть файл requirements.txt, мы поставим зависимости из него.

По умолчанию для сборки приложения Flask мы выполним следующее:

apt-get install -y python3 python3-pip gunicorn python3-psycopg2 libpq-dev python-dev default-mysql-client python3-dev default-libmysqlclient-dev python3-mysqldb --fix-missing
pip3 install psycopg2 django flask
ln /usr/bin/python3 /usr/bin/python -sf
ln /usr/bin/pip3 /usr/bin/pip -sf

Дополнительно при наличии файла requirements.txt:

pip3 install --upgrade -r requirements.txt

Если вы понимаете, что вам нужно модифицировать процесс сборки (например, если проекту требуются дополнительные модули), вы можете указать дополнительную команду сборки. Можно ввести несколько команд, разделяя их с помощью &&.

На этом же этапе можно указать переменные, если это необходимо.

В качестве команды запуска по умолчанию будет использоваться:

gunicorn main:app --timeout 60

Убедитесь, что основной файл проекта (точка входа в приложение) имеет имя main.py.

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

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

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

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

A3215560 C7af 42a5 Aefd Be24cea7f387

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

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

Шаг 5. Деплой

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

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

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

Group 1321314123

Готово! Ваш проект развернут и готов к работе.

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

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

Без Названия

Устранение неполадок

Не удается выполнить развертывание

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

Зачастую проблемы связаны с командой запуска. Проверьте, что всё в вашей среде разработки работает с gunicorn. Убедитесь, что все модули, необходимые для запуска приложения, присутствуют в файле requirements.txt.

Была ли статья полезна?

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону