Я ещё только учусь технологиям, поэтому объясняйте на пальцах, пожалуйста)
Ситуация:
Делаю корпоративный сайт на связке Gatsby + Strapi. В качестве Headless CMS выбрана Strapi для управления контентом. Интегрировал, но получается так, что обновление контента происходит только в момент сборки, которую запускаю вручную на локалке.
Задача:
Корпоративный сайт на Gatsby, где контент меняется через Strapi, а данные из форм отправляются на сервер с Node и дальше уже в AmoCRM
Встало несколько вопросов:
1) Как запускать автосборку и деплой после изменения контента?
2) Как реализовать отправку данных из форм на сервер, если статика будет находиться на CDN и нужен ли CDN в данном случае?
3) Как бы вы реализовали данную задачи используя эти технология. Интересует где хранился бы бэкенд, а где фронт и как они будут взаимодействовать.
Чем подробнее, тем лучше)
И желательно с ссылками на какие-то гайды
Strapi имеет веб-хуки, они отправляют post запросы. Вам нужно на сервере, где лежит статика, развернуть один endpoint для прослушки этого хука. Endpoint будет выполнять exec команду, которая будет перегенерировать фронт, что то типу exec('npm run build').
Strapi -> Web hook -> Выключаем автоматический триггер хука, делаем только ручной, чтобы не обновлялось после смени любой мелочи -> После триггерим вручную -> POST (you-api-where-place-gatsby.com/api/rebuild) -> progress -> success.