Как автоматически обновлять пакеты composer с помощью webhooks
Вступление
В предыдущем уроке , создавшем, опубликованном и использовавшем наш собственный пакет, мы видели, что по умолчанию пакеты не обновляются автоматически. Это означает, что всякий раз, когда мы обновляем наш репозиторий, в котором размещены эти пакеты, нам нужно вручную войти в Packagist и обновить этот пакет вручную, нажав кнопку обновления на нашей панели инструментов. Этот опыт может быть очень утомительным, и мы бы не хотели этого делать. Таким образом, необходимо автоматически обновлять наши пакеты на Packagist каждый раз, когда изменяется наш репозиторий пакетов.
В этом уроке мы сделаем тот пакет, который мы создали в последнем уроке, для автообновления везде, где есть изменения в нашем git-репозитории.
Чтобы достичь этого, мы будем использовать функцию Webhook в GitHub, функциональность которой можно обобщить как функцию обратного вызова HTTP.
Понятие webhook можно легко понять, это скорее обратный вызов http, HTTP POST, который запускается всякий раз, когда что-то происходит, отправляя простое уведомление о событии.
В нашем случае этот HTTP POST будет запускаться автоматически GitHub каждый раз, когда происходит пересылка в наш репозиторий GitHub.
# Активация Webhook на GitHub
Чтобы активировать эту функцию в нашем пакете, мы выполним следующие шаги:
- Мы перейдем к GitHub и откроем репозиторий, в котором есть наш опубликованный пакет.
- На этой странице мы нажмем «Настройки» в строке меню.
- Затем из навигационной панели слева выберите опцию Webhook.
Когда откроется вкладка Webhook, у нас будет несколько полей для заполнения, в том числе: URL-адрес полезной нагрузки, тип контента и секрет.
#Payload : это уникальный URL, специфичный для вашего пакета в Packagist.
# Тип контента : Это указывает, как мы хотим, чтобы GitHub отправлял наши обновленные пакеты в Packagist.
#Secret: Это уникальный ключ, сгенерированный Packagist, чтобы гарантировать, что любые данные, которые он получает, полностью авторизованы.
Эти три варианта можно получить на нашей панели инструментов Packagist здесь.
После заполнения этих полей приведенный выше снимок экрана показывает, что GitHub был успешно интегрирован в наш пакет на Packagist и будет автоматически обновляться при каждом обновлении нашего репозитория GitHub.
Yahh! наконец, мы успешно сделали наш пакет для автоматического обновления. Не забудьте лайкнуть, поделиться и прокомментировать раздел комментариев. Следуйте за нами в твиттере для получения дополнительных обновлений.
Предыдущий: Создайте, опубликуйте и используйте свой первый пакет композитора
Далее: Создание библиотек / пакетов, устанавливаемых с помощью composer
Новый контент: Composer: менеджер зависимостей для PHP , R программирования