Веб-приложение на SourceCraft Sites и Yandex Cloud Functions
В этом руководстве демонстрируется пример развёртывания простого веб-приложения с применением сервисов и инструментов:
- Фронтенд - статический сайт на SourceCraft Sites
. - Бэкенд - облачная функция Yandex Cloud Functions в связке со шлюзом Yandex API Gateway.
- Хранение и работа с кодом - репозиторий SourceCraft
. - Создание ресурсов Yandex Cloud - SourceCraft CI/CD
и сервисное подключения SourceCraft к Yandex Cloud.
Это веб-приложение подойдёт для разработки и прототипирования или для пэт-проекта. Преимущества такого подхода:
- Не нужно поднимать виртуальную машину или сервер ни для фронтенда, ни для бэкенда.
- Бесплатный хостинг на SourceCraft Sites
с доступом по HTTPS (загрузка собственного TLS-сертификата не требуется). - Уровень нетарифицируемого использования (free tier) для Yandex Cloud Functions и Yandex API Gateway делает их применение бесплатным при небольших нагрузках.
- Бесплатное использование возможностей SourceCraft для работы с кодом и CI/CD в рамках тарифного плана
SourceCraft Free.
Примечание
Веб-приложение (сайт) публикуется на основе файлов, которые размещены в публичном репозитории
Вы можете подтвердить владение сайтом на SourceCraft Sites в Яндекс Вебмастере
Чтобы создать веб-приложение:
- Подготовьтесь к работе.
- Клонируйте
(git clone https://git@git.sourcecraft.dev/examples/sourcecraft-sites-web-app.git) или создайте ответвление (форк) репозитория в свою организацию на SourceCraft. - Создайте сервисное подключение
с именемdefault-service-connection. - Вручную запустите
рабочий процессcreate-resourcesв веткеmaster. - Протестируйте приложение.
Если созданные ресурсы вам больше не нужны, удалите их и снимите сайт с публикации.
Подготовка к работе
-
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
. - Перейдите в консоль управления
- Аутентифицируйтесь в SourceCraft на главной странице
сервиса или зарегистрируйтесь .
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры веб-приложения входят:
- стоимость использования шлюза (тарифы Yandex API Gateway).
- стоимость использования облачной функции (тарифы Yandex Cloud Functions).
Проверка работы приложения
Чтобы открыть приложение, в браузере перейдите по URL-адресу https://<слаг_организации>.sourcecraft.site/<название_репозитория>. Если все было настроено правильно, то на открывшейся странице вы увидете поле для ввода имени и кнопку. Введите имя и нажмите кнопку, в результате ниже должна появиться строка с приветствием.
Удалить ресурсы Yandex Cloud
Ресурсы (шлюз и облачную функцию) можно удалить одним из способов:
- Вручную в консоли Yandex Cloud (Удалить функцию, удалить API-шлюз).
- В репозитории вручную
запустить рабочий процессdelete-resources.
Снять сайт с публикации
Для снятия сайта с публикации достаточно выполнить одно из действий:
- Сделать репозиторий или организацию приватной.
- Удалить из основной ветки репозитория файл
.sourcecraft/sites.yaml.
Полезные ссылки
Подключение к базе данных Managed Service for YDB из функции Yandex Cloud Functions на Python