Введение
В нашей предыдущей статье мы посмотрели, как начать использовать GitHub WebHooks.
Тем не менее, каковы фактические реальные приложения GitHub WebHooks? Каким образом эта технология может ли эта технология доставлять ценность нашим приложениям? Это вопросы, которые мы будем пытаться предоставить ответы на эту статью, взглянув на некоторые из наиболее распространенных реальных приложений Githooks Githooks.
Почему Github WebHooks важно/полезно?
Прежде чем мы погрузимся в различные случаи использования веб-капусов GitHub, давайте обсудим, почему Github WebHooks — полезная технология. В течение десятилетия сейчас GitHub служил центральным центром для хранения, обмена и совместной работы по проектам на основе кодов.
Можно утверждать, что GitHub содержит код для большинства программных приложений, фреймворков, плагинов и любых технологий на основе кода, которые мы используем сегодня. Таким образом, важно, чтобы такая платформа должна открывать двери для интеграции с другими внешними системами, которые полагаются на код, размещенный на нем.
GitHub WebHooks предоставляет одну такую возможность интеграции, позволяя внешним приложениям подписаться на события, происходящие на GitHub. Эти внешние приложения могут затем получать уведомления и информацию об их подписанных событиях и вызвать рабочие процессы в ответ на эти события. Таким образом, подписанные приложения могут доставлять больше ценности для своих пользователей (особенно через автоматизацию задач). Красота GitHub WebHooks заключается в том, что они не ограничены любого применения; Вы ограничены только вашим собственным воображением.
В следующих разделах мы посмотрим на некоторые из наиболее распространенных сценариев, в которых инженеры приложений использовали использование веб-видов GitHub, чтобы дать вам представление о возможности гибкости.
Запуск постоянной интеграции построить трубопроводы
Одним из наиболее распространенных приложений GitHUB WebHooks — это запуск непрерывных интеграционных трубопроводов для прохождения тестов на то, как подталкивается кодом в ветку. Члены команды, работающие над проектом, отправляют запросы на тягу из функциональных ветвей в главную ветку. До того, как эти филиалы объединяются в главную ветку, это считается наилучшей практикой для запуска кода, которая будет объединена через тесты.
Вы можете настроить конвейер постоянной интеграции (CI) на сервере CI ( Jenkins , Circleci , и т.д.). Затем подпишитесь на толчок
и pull_request
События на Github, чтобы пожарные окна для запуска вашего сервера CI для запуска тестов на ветке.
Это предотвратит соблюдение дефектного кода в вашу главную ветку, когда ошибки обнаружены в CI CORDE, а сборки сборки.
Автоматически развертывание приложений к серверам назначения
Для веб-проектов важно для разработки команд для доставки их кода на серверы приложений, где пользователи и/или тестеры могут получить доступ к нему. Независимо от того, необходимо ли предоставить ваше веб-приложение в промежуточную или производственную среду, может быть установлен непрерывный трубопровод для доставки для перемещения кода в среду хостинга.
Тем не менее, этот трубопровод развертывания нуждается в триггере, чтобы сказать ему, когда отправить свой код на хост. Разработчики могут просто подписаться на толчок
Мероприятие на главной отрасли (для развертывания до производства серверов) или любым ветви развертывания. Когда толчок
Происходит событие, веб-канал отправляется для запуска трубопровода развертывания для отправки кода в среду хостинга.
Платформы CI/CD, такие как Circleci, имеют конечные точки API для запуска трубопровода развертывания. Вы можете просто указать свое веб -ook на эту конечную точку, чтобы вызвать развертывание на свои серверы.
Отправка уведомлений на командные каналы сотрудничества, как Slack и DiscoD
GitHub пытается отправить уведомления по электронной почте для коммиентов и вытягивания запросов на репозитории. Тем не менее, команды развития проводят большую часть своего времени на платформы совместной работы, как Слабый и Раздор Отказ
Таким образом, наиболее эффективным способом осуществления мероприятий, происходящих на репозиториях по кодам членам команды, особенно кодовые рецензенты и утверждения развертывания, являются этими каналами совместной работы. Это гарантирует, что любой, кто должен принять немедленные действия, получает уведомление вовремя. Это также может помочь содействовать обсуждению о коммитах и вопросах, что позволяет команде оставаться в синхронизации с мероприятиями, происходящими на хранилище.
DiscoD Позволяет разработчикам генерировать URL-канал WebHook Endpoint, который может быть отправлен в GitHUB при подписке на веб -ook. Это позволяет вам получать мгновенные уведомления о подписанных событиях в ваших каналах разногласий. Вы можете следовать за этим Github Gist Чтобы увидеть, как GitHub WebHooks можно использовать для канала деталей события, чтобы раскрывать каналы.
При подписке на веб-образные каналы должны быть отправлены на обсуждение каналов, вы можете подписаться на столько событий, сколько вы заинтересованы. Там нет правил относительно того, что вы должны были отправить вам.
Обновление внешних выпусков трекеров
GitHub включает в себя Проблемы Вкладка на каждом репозитории, где пользователи приложения и кода-кода могут представить наблюдаемые проблемы. Затем можно создавать дискуссионные потоки для каждого выпуска для обмена информацией о разрешении проблемы.
Однако некоторые внешние приложения делают лучшую работу при обработке вопросов, чем GitHub. Эти трекеры выпуска часто обладают большим количеством функций для решения проблем кода и помогают разработчикам лучше сотрудничать в проекте.
Некоторые из этих проблем трекеров, как Джира Иметь встроенную поддержку для GitHub, чтобы следить за проблемами на репозитории. Другие, как Квитальный трекер и Монгодб Царство Предоставьте вам URL-адрес веб -ook, который вы можете добавить в GitHub, чтобы подписаться на Проблемы событий , Выдавать комментарий Событие , Commit Comment Event и любое другое событие, связанное с отслеживанием вопросов.
Автоматизация рабочих процессов на внешние процессы
Еще одно интересное использование веб-капусов GitHub находится в запусках рабочих процессов по внешним приложениям и процессам. Этот регистр использования является обычай, и всегда зависит от того, что хочет достичь инженера приложений.
Может быть максимально простым, как для регистрации мероприятий, проводимых в Github для целей аудита или срабатывания серверов баз данных для резервного копирования данных перед выпуском. Приложения управления проектами могут подписаться на такие события, как проблемы
и pull_request
отслеживать проект.
Приложения поддержки клиентов могут подписаться на проблемы
Мероприятие для сопоставления жалоб, комментариев и вопросов, которые пользователи сообщают о GitHub.
Если есть процесс, который вам нужно автоматизировать в вашем пользовательском приложении, серверах баз данных, Саас Приложения или серверы электронной почты в ответ на любую активность на GitHub, вы можете добиться этой автоматики с веб-кавками GitHub.
Вывод
Простота GitHub позволяет легко интегрироваться в широкий ассортимент внешних приложений и процессов. Почти каждое приложение поддерживает HTTP, и поскольку запросы WebHook представляют собой простые HTTP-запросы, несущие полезную нагрузку информации о событии, они могут легко общаться со многими онлайн-приложениями. В этой статье мы рассмотрели некоторые общие сценарии, где развернуты веб-капли GitHub.
Github WebHooks Использование случаев не ограничивается тем, что мы видели в этой статье, но наличие этих примеров под рукой поможет вам лучше понять, как использовать GitHub WebHooks к их полному потенциалу.
Если вы заинтересованы в создании интеграции с GitHub WebHooks, мы рекомендуем прочитать наш учебник для Github WebHooks, чтобы начать ваш проект!
Счастливое кодирование!
Оригинал: «https://dev.to/hookdeck/top-5-use-cases-for-github-webhooks-284i»