автор Том Брайтбилл
Если вы не знали, 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 г.