Подтвердить что ты не робот

Как запустить трубопровод дженкинсов из репозитория битбакет

Я успешно установил триггер webhook в битбакете для проекта Freestyle Jenkins для целей тестирования.

К сожалению, мой проект Jenkins использует формат Pipeline, и я не могу заставить Bitbucket инициировать такой проект; проблема заключается в том, что нет проекта Jenkins, зарегистрированного для того, чтобы вытащить из репо, с которого происходит веб-сайт Bitbucket, и Дженкинс отвечает:

Error: Jenkins response: No git jobs using repository: ssh://[email protected]:7999/xxx/testing-jenkins.git and branches: master No Git consumers using SCM API plugin for: ssh://[email protected]:7999/xxx/testing-jenkins.git

Проект конвейера настроен таким образом, что Jenkinsfile должен быть найден в данном репозитории (ssh://[email protected]:7999/xxx/testing-jenkins.git), используя опцию "Pipeline script from SCM".

Следовательно, для Pipeline действительно есть своего рода "git потребитель", но это, похоже, не учитывает Дженкинс, вероятно, потому, что это не настоящий источник проекта, а источник конвейера.

Есть ли примеры интеграции проектов трубопроводов Bitbucket и Jenkins? Я не смог найти.

4b9b3361

Ответ 1

Если вы ищете полный конвейер Bitbucket и Jenkins, я настоятельно рекомендую использовать Bitbucket Branch Source Plugin. Плагин обнаружит все ветки и запросы на оттяжку и построит всех, у кого есть JenkinsFile в корне репо.

Вы также можете создать проект как команду Bitbucket, которая будет сканировать все репо вашей организации: введите описание изображения здесь

См. официальный doc CloudBees

Ответ 2

Я боролся с той же проблемой. Ниже приведены основные моменты, которые я выполнил.

В работе с трубопроводом Дженкинса

  • В Triggers Build установите флажок "Trigger builds удаленно (например, из скриптов)" и заполните "Authentication Token" с помощью случайного и уникального токена.

В репозитории BitBucket

  • Перейдите в "Настройки" > "Службы"

  • Выберите "Дженкинс" из раскрывающегося списка и "Добавить услугу".

    • Отметьте 'Csrf Enabled'

    • Конечная точка: http://username:[email protected]/

      Вы можете найти имя пользователя и apitoken в Jenkins home > People Выберите пользователя и нажмите "Настройка". В разделе "API Token" нажмите кнопку "Показать API-токен", и вы увидите имя пользователя и apitoken

    • Имя модуля. Это необязательно. Это может быть любой конкретный файл или папка, которая должна быть просмотрена.

    • Название проекта: название проекта в Jenkins.

      Если задание находится в некоторой структуре папок, скажем, что у меня есть "MyTestFolder/MyTestPipelineJob", название проекта должно быть указано "MyTestFolder/job/MyTestPipelineJob"

    • Токен: "Идентификатор аутентификации", созданный в задании Дженкинса.

Вы готовы к работе!

Я назвал http://felixleong.com/blog/2012/02/hooking-bitbucket-up-with-jenkins/ и некоторые из моих инстинктов.:)

Ответ 3

У меня такая же проблема. Мое обходное решение состояло только в том, чтобы создать проект фристайла, который может быть запущен WebHook, и запустить этот трубопровод с помощью этого завершения проекта.

В то же время, здесь ошибка Jenkins, вы можете следить за исправлением: https://issues.jenkins-ci.org/browse/JENKINS-38447

Ответ 4

Проведите время, выясняя, как это сделать в 2017 году.

после этих 3 шагов, я наконец делаю задания на конвейер после запуска нового коммита в битбакет