Intereting Posts

Запустите Jenkins на основе push-to-random репозитория на Bitbucket

У меня есть много репозиториев, размещенных на Bitbucket, которые должны запускать сборки в Jenkins. Эти репозитории должны быть построены примерно одинаково. Основываясь на полезной нагрузке Bitbucket, я хотел бы клонировать толкаемый репозиторий с небольшим сценарием и строить этот конкретный проект. Мне понадобится, по крайней мере, URL-адрес репо и ветка . Это то, что я пробовал до сих пор.

Попытка №1

Использование плагина Bitbucket . Это будет срабатывать только тогда, когда URL-адрес SCM будет слабо соответствовать, что никогда не будет иметь место, поскольку я не знаю URL-адрес репозитория на forehand, и поэтому эта попытка не подходит для моего использования.

Попытка №2

Использование встроенного пульта ДУ; это действительно работает намного лучше, так как я могу запустить сборку из любого репозитория с правильным токеном. Хотя эта попытка терпит неудачу, так как я не могу получить полезную нагрузку, которую Bitbucket отправляет Jenkins. Я смог подтвердить, что полезная нагрузка не проходит через запуск printenv в сборке, которая не показывает полезную нагрузку.

цели

  1. Как запустить сборку с неизвестного URL-адреса репозитория Bitbucket?
  2. Как получить полезную нагрузку, которая была доставлена ​​событием Bitbucket Push ?

Я использую Jenkins 2.8.

После многих исследований я пришел к выводу, что мой случай использования слишком специфичен для использования готового решения. Поэтому я разработал небольшую службу Node.js, которая действует как небольшой прокси-сервер. Он получает полезную нагрузку от Bitbucket, затем преобразует эти данные перед отправкой через Jenkins. Работает как шарм.