Отфильтровать событие push сборки кода

В моем проекте есть buildspec.yml, который развертывает мое приложение и создает новый выпуск на GitHub.
. Если я создам новый проект CodeBuild с указанным выше yml файлом и наблюдаю за основной веткой с помощью GitHub push webhook, он будет постоянно выпускать новые версии ...

Кажется, что если я смотрю событие «push», веб-перехватчик также запускает новую сборку, если обнаруживаются новые выпуски (или создание нового тега?). И этот выпуск запускает другое событие «push» веб-перехватчика, входящее в бесконечный цикл выпуска.

Есть ли способ сделать сборку реактивной только на реальные нажатия?

(или, возможно, создание новых выпусков в buildspec.yml не является хорошей практикой ...?)

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
560
2

Ответы 2

событие push действительно обнаруживает создание тегов и ветвей.

Но его полезная нагрузка события также включает «размер»: количество коммитов в push.

Если этот размер равен 0, вашему слушателю не нужно будет запускать какую-либо сборку.

Спасибо за ваш ответ. На самом деле, хотя в документе говорится, что «размер» - это количество коммитов В НАЖАТИИ, кажется, он учитывает все коммиты с момента создания репозитория ... :( В итоге я сделал шлюз api + лямбда для фильтрации моих веб-перехватчиков.

sora 17.10.2018 05:29

@sora Ладно, странно: может быть, поддержка GitHub расскажет об этом подробнее.

VonC 17.10.2018 06:42

В CodeBuild есть встроенная поддержка фильтрации событий вашего веб-перехватчика. Подробности в https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html#sample-github-pull-request-filter-webhook-events-console. Вы можете установить фильтр для отказа от сборок, когда он срабатывает из-за тега выпуска.

Другие вопросы по теме