Основная функция сервиса приложений — автоматический деплой. Apps автоматически выгружает на сервер код вашего сайта, API-сервиса, приложения и т.п.
Процесс работы с Apps при использовании backend-фреймворков выглядит так:
Вы подключаете репозиторий к Timeweb Cloud, выполнив вход в свой аккаунт на Github, Gitlab или Bitbucket.
requirements.txt
для Python или package.json
для Node.JS.Сервис определяет параметры сборки для вашего приложения и собирает приложение.
Сервис запускает Docker-контейнер с нужным окружением — и внутри него запускает ваше приложение.
Сервис автоматически настраивает Nginx для проксирования вашего домена на приложение, запущенное в Докере.
В тот момент, когда вы выполняете git push
в свой репозиторий, этот же цикл повторяется заново (если у вас включен автодеплой), начиная с пункта 3: сервис подтягивает код, ставит зависимости, собирает приложение и так далее. В том числе — запускает новый Docker-контейнер, в котором не будет ничего из прежнего контейнера. Таким образом обеспечивается чистота деплоя.
К приложению будет привязан бесплатный технический домен с SSL-сертификатом Let's Encrypt, который можно использовать для тестирования работы и, если вам это подходит, — для запросов к приложению.
Работа сервиса с frontend-приложениями имеет одно важное отличие от backend-приложений — после сборки мы не создаем Docker-контейнер, приложение хранится в директории на сервере. Такое приложение — это статические файлы, которые отдаются клиентам с сервера.
Однако, в отличие от обычного размещения приложения на сервере, где вам нужно самостоятельно настраивать окружение, сервис Apps, как и в случае с бэкенд-приложениями, сделает всё за вас:
«подтянет» код из репозитория,
установит зависимости и ПО,
настроит Nginx,
выпустит SSL-сертификат,
выполнит сборку вашего приложения.
А в дальнейшем будет автоматически деплоить изменения — если вы оставите включенной опцию автодеплоя.