Облачная платформаEvolution

Развертывание контейнерного приложения через Workflow Studio


С помощью этого руководства вы научитесь разворачивать контейнерное приложение через сервис Workflow Studio.

Вы будете использовать следующие сервисы:

  • Workflow Studio — платформа для автоматизации инженерных задач в облаке.

  • Container Apps — сервис для запуска контейнерных приложений в облаке. Не требует знания Kubernetes и создания виртуальных машин.

  • Систему контроля версий Git.

Шаги:

  1. Подготовьте Git-репозиторий с приложением.

  2. Создайте сервис в Workflow Studio.

  3. Запустите сборку и развертывание приложения.

  4. Проверьте работоспособность развернутого приложения.

Перед началом работы

Зарегистрируйтесь в личном кабинете Cloud.ru.

Если вы уже зарегистрированы, войдите под своей учетной записью.

1. Подготовьте Git-репозиторий с приложением

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

Готовые примеры:

Если вы решили использовать собственный репозиторий:

  1. Убедитесь, что в нем есть Dockerfile, и он находится в корне репозитория:

    ls -la
    cat Dockerfile
  2. Проверьте, что:

    • Docker-образ собирается без ошибок.

    • Приложение запускается внутри контейнера.

    • Приложение получает порт из переменной окружения PORT и принимает запросы на этот порт или использует по умолчанию порт 8080.

      Примечание

      Сейчас поддерживается только порт 8080.

    • Приложение привязано к адресу 0.0.0.0.

    • Порт приложения указан через EXPOSE или настроен в параметрах для развертывания.

    • весь код и Dockerfile отправлены в нужную ветку, например main.

  3. Проверьте приложение локально:

    docker build -t <name>:local .
    docker run --rm -p 8080:8080 -e PORT=8080 <name>:local

    Где <name> — название приложения.

  4. После запуска откройте приложение по адресу http://localhost:<port>, где <port> — номер порта, на который приложение получает запросы.

2. Создайте сервис в Workflow Studio

  1. В личном кабинете на верхней панели слева нажмите Кнопка с изображением девяти точек и выберите Разработка → Workflow Studio.

  2. Перейдите Services → Мои сервисы.

  3. Нажмите Создать сервис.

  4. Заполните поля:

    • Название — укажите название сервиса.

      Например, lab-container-app.

    • Репозиторий — выберите Другой Git-провайдер и укажите URL-адрес вашего репозитория.

      Если используете готовые примеры приложений, укажите их URL-адреса:

      • game-ridiculous-artifacts — https://github.com/Nick1994209/game-ridiculous-artifacts;

      • recordacion — https://github.com/Nick1994209/recordacion.

    • Ветка — укажите ветку, из которой должно выполняться развертывание.

      Например, main.

  5. Нажмите Создать сервис.

3. Запустите сборку и развертывание приложения

После создания в карточке сервиса появится статус «Готово». Приложение запустится автоматически.

Во время создания сервиса Workflow Studio выполняет следующие действия:

  1. Создает реестр для хранения собранного артефакта.

  2. Запускает команду docker build на основе Dockerfile.

  3. Загружает собранный образ в созданный реестр.

  4. Создает контейнер в Container Apps на основе образа.

  5. Запускает приложение и ожидает его готовности.

Если сервис долго не переходит в статус «Готово», откройте логи сборки и запуска. Проверьте прежде всего:

  • ошибки в Dockerfile;

  • верно ли указаны рабочая директория и команда запуска;

  • отсутствие зависимостей;

  • не игнорируется ли переменная PORT или используется порт 8080;

  • приложение привязано к адресу 0.0.0.0;

  • репозиторий публичный и к нему есть доступ;

  • ошибки «health check» или инициализации приложения.

4. Проверьте работоспособность развернутого приложения

Проверьте, что приложение запущено и открывается.


  1. Перейдите в сервис, который вы создали на втором шаге.

  2. В карточке сервиса скопируйте URL-адрес из поля Домен.

  3. Вставьте URL-адрес в адресную строку браузера и откройте приложение.

Результат

Вы научились разворачивать контейнерное приложение через Workflow Studio.