Как подключить Cloudflare

Представляем хуки развертывания для страниц Cloudflare

С Cloudflare Pages развертывание приложений Jamstack стало проще, чем когда-либо — интеграция с GitHub и простой git push развертывает ваш сайт за считанные минуты. Однако одним из ограничений Pages было то, что запуск развертывания на вашем сайте происходит только в рамках фиксации на GitHub. Мы начали думать о том, как пользователи, которые постоянно создают контент на своем сайте — наши блоггеры и писатели — могут не всегда редактировать свою копию напрямую через код, а, возможно, через другую службу. Безголовые системы управления контентом (CMS) — простое решение этой проблемы, позволяющее пользователям сохранять свой внутренний контент через интерфейс редактирования в качестве службы для такого приложения, как Pages.

Это заставило нас задуматься: а что, если бы мы могли запускать развертывание на основе обновлений, сделанных в других местах, а не только через GitHub? Сегодня мы с гордостью объявляем о новом способе подключения вашего приложения Pages к вашим автономным CMS и базам данных: представляем Deploy Hooks для Pages.

Что такое безголовая CMS?

Безголовые CMS, такие как Contentful, Ghost и Sanity.io, позволяют оптимизировать форматирование контента для любого типа интерфейса. С помощью подобных инструментов вы можете использовать «несвязанную» модель управления контентом, в которой все, на чем вам нужно сосредоточиться, — это писать контент в интерфейсе редактирования CMS, а все остальное делать API!

Звучит здорово! В чем подвох?

Мы начали думать о последствиях для тех из вас, кто интегрируется с этими безголовыми инструментами, и о том, как может выглядеть ваш рабочий процесс в отношении Pages. Вы могли бы создать, например, приложение своего блога на Pages, но обновлять весь свой контент прямо на вашей автономной CMS и можете вносить изменения в свой контент три-четыре раза в день. Итак, как именно данные из вашей CMS отображаются на вашем сайте Pages и синхронизируются? Войдите в Deploy Hooks!

Что такое хуки развертывания?

Хуки развертывания — это URL-адреса, созданные на страницах, которые принимают HTTP-запрос POST для запуска новых развертываний за пределами области действия команды git. Вместо того, чтобы вручную повторно развертывать ваш сайт с помощью другого git push, каждый раз, когда вы обновляете контент в выбранной автономной CMS, Deploy Hook автоматически отправляет обновление в режиме реального времени на Pages. На стороне страниц после получения этих обновлений будет запущена новая сборка сайта, которая будет включать любые обнаруженные новые данные или контент. Это так просто!

Представляем хуки развертывания для страниц Cloudflare

Как я могу создать ловушку развертывания?

Чтобы настроить обработчик развертывания, перейдите к Развернуть хуки в настройках проекта Pages. В этом разделе есть два входных параметра, необходимых для правильной настройки обработчика развертывания и получения вашего URL:

  1. Имя перехватчика развертывания: Вы можете назвать свой обработчик развертывания чем-то вроде «Contentful» или «Мой блог», чтобы определить, какой источник отслеживает обработчик развертывания. Уникальное имя для каждого крючка развертывания также поможет вам различать хуки в том случае, если вы создаете несколько хуков развертывания для своего сайта Pages.
  2. Ветвь для сборки: Вы можете указать, какая ветвь будет создана и развернута при запросе URL-адреса с помощью Deploy Hook. Это особенно полезно, если вы хотите сначала внести изменения, а не отправлять их прямо в производственную ветку.
Представляем хуки развертывания для страниц Cloudflare

Как я могу использовать Deploy Hook с моей автономной CMS?

Вы можете поместить уникальный URL-адрес, указанный на панели управления, практически в любую службу, которая принимает URL-адрес Deploy Hook. В автономной CMS вы можете создать и настроить новый веб-перехватчик и, в зависимости от инструмента, иногда выбрать, какие события вы хотите инициировать развертывания. После того, как вы настроили этот веб-перехватчик, вы можете вставить URL-адрес перехватчика развертывания, предоставленный Pages, чтобы подключить выбранную CMS к проекту Pages. После этого все готово к обновлению контента в вашем безголовом инструменте.

Что еще я могу делать с помощью Deploy Hook?

После создания ловушки развертывания Pages также предоставляет вам фрагмент HTTP-запроса POST с вашим URL-адресом, который выглядит примерно так:

curl -X POST "https://api.cloudflare.com/client/v4/pages/webhooks/deploy_hooks/ 66c5dd3a-989f-4ba7-a6e2-6d2695524d7”

Каждый раз, когда вы выполняете фрагмент, вы запускаете новую сборку на своем сайте Pages. Помимо использования этого фрагмента для принудительного развертывания в командной строке, вы также можете настроить конвейер CI / CD и запускать развертывание только при определенных условиях. Например, вы хотите выполнить развертывание только в том случае, если в определенных каталогах были изменения, и только после прохождения обширного набора тестов. Кроме того, этот фрагмент полезен для планирования триггера CRON для запуска сборок на определенной временной шкале или ритме. Подробнее о том, как использовать хуки развертывания Pages, читайте в нашей документации.

Попробуйте сами!

Звучит весело? Попробуйте сами, используя наше руководство «Как создать блог с помощью Nuxt.js и Sanity.io на страницах Cloudflare» или создайте свой собственный. Нам не терпится увидеть, что вы создаете на Pages с помощью Deploy Hooks!

PS — набираем!

Хотите помочь нам сформировать будущее разработки в Интернете? Присоединиться к нашей команде!

Что такое Cloudflare