автор Том Брайтбилл

Если вы не знали, Cloudflare Workers, наша бессерверная платформа программирования, позволяет вам развертывать код в наших 165 центрах обработки данных по всему миру.

Хотите автоматически развертывать Workers прямо из репозитория GitHub? Теперь вы можете это сделать с нашим официальным GitHub Action. Это действие является расширением нашей существующей интеграции с Serverless Framework. Он работает в контейнерной среде GitHub и автоматически развертывает ваш Worker в Cloudflare. Мы решили использовать Serverless Framework в рамках нашего действия GitHub, чтобы повысить осведомленность об их потрясающей работе и позволить создавать еще больше бессерверных приложений с помощью Cloudflare Workers. Это действие также можно использовать для развертывания отдельных сценариев Worker; Serverless Framework используется в фоновом режиме в качестве механизма развертывания.

Прежде чем вдаваться в подробности, мы быстро рассмотрим, что такое GitHub Actions.

Действия на GitHub

Действия GitHub позволяют вам запускать команды в ответ на события GitHub. Эти команды выполняются в контейнерах и могут получать переменные среды. Действия могут инициировать команды сборки, тестирования или развертывания для различных поставщиков. Они также могут быть связаны и запускаться последовательно (например, если сборка прошла успешно, разверните приложение). Подобно многим инструментам CI/CD, эти команды выполняются в изолированном контейнере и получают переменные среды. Вы можете передать контейнеру любую команду, которая активирует рабочий процесс разработки.

Действия — это мощный способ управления рабочим процессом на GitHub, включая автоматизацию частей вашего конвейера развертывания непосредственно из того места, где находится ваша кодовая база. С этой целью мы создали действие для развертывания Worker в вашей зоне Cloudflare через нашу существующую интеграцию Serverless Framework для Cloudflare Workers. Чтобы визуализировать весь поток, см. Ниже:

Чтобы увидеть некоторые другие действия, доступные сегодня, пожалуйста, см. здесь.

Зачем использовать бессерверную платформу?

Бессерверные приложения развертываются, и разработчикам не нужно беспокоиться о предоставлении оборудования, планировании ресурсов, масштабировании или оплате оборудования, когда ваше приложение не работает. В отличие от большинства провайдеров, которые просят вас выбрать регион для запуска вашего бессерверного приложения, все Cloudflare Workers развертываются во всей нашей глобальной сети.

Serverless Framework — это популярный набор инструментов для развертывания бессерверных приложений. Преимущество Serverless Framework заключается в том, что он предлагает общий интерфейс командной строки для использования несколькими поставщиками, поддерживающими бессерверные приложения. В конце 2018 года Cloudflare интегрировала развертывание Workers в Serverless CLI. Пожалуйста, ознакомьтесь с нашей документацией здесь, чтобы начать.

Если вы запускаете все приложение в Worker, для бизнеса ничего не стоит, когда приложение простаивает. Если приложение работает в нашей сети (на момент написания этой статьи у Cloudflare было 165 точек присутствия), приложение может быть невероятно близко к конечному пользователю, уменьшая задержку за счет близости. Кроме того, Workers может быть мощным способом расширить то, что вы уже создали в существующей технологии, перенося в Workers только компоненты, чувствительные к аутентификации или производительности.

Конфигурация

Конфигурация действия проста, а побочным преимуществом является то, что при желании вы можете «немного»™ познакомиться с Serverless Framework. Репозиторий, использующий это действие, может просто содержать сценарий Worker для развертывания. Если вы предоставите Action правильные переменные ENV, мы позаботимся обо всем остальном.

В качестве альтернативы вы также можете указать serverless.yml в корне вашего репо с вашим работником, если вы хотите переопределить значения по умолчанию. Узнайте о нашей интеграции с Serverless здесь.

Ваш сценарий Worker и необязательный serverless.yml передаются в контейнер, который запускает действие для развертывания. Serverless Framework подбирает эти файлы и развертывает Worker для вас.

Все соответствующие переменные также должны быть переданы в действие, включая различные идентификаторы учетной записи, а также ваш ключ API. Вы можете ознакомиться с этим учебником на GitHub о том, как передавать переменные окружения в действие (совет: используйте тип переменной secret для ключа API).

Служба поддержки

Репозиторий общедоступен здесь, где более подробно описывается конфигурация. Любые вопросы/предложения, не стесняйтесь, дайте нам знать!

Первоначально опубликовано на blog.cloudflare.com 1 марта 2019 г.