Как я могу использовать Jenkins с Atlassian Stash?

Я только что установил Jenkins, и у меня есть некоторые репозитории в моем Stash. Я установил "Git плагин" в jenkins. Теперь я могу ввести URL-адрес репозитория, но мне нечего вводить в мои учетные данные.

Возможно использование

http://username:[email protected]/xx/yy.git 

но это то, чего я не хочу делать.

Что еще я могу сделать для аутентификации?

Ответ 1

Я являюсь автором этого плагина, который может вам помочь: https://github.com/palantir/stashbot

Принимая выборочно из readme:

Чтобы работать с Дженкинсом, вы должны сначала установить следующие плагины jenkins.

  • Jenkins GIT плагин
  • Задача создания сборки

Затем создайте и установите плагин с помощью SDK плагина (подробнее в readme)

Затем администратор stash переходит на страницу администрирования Stashbot и создает конфигурацию сервера jenkins - здесь вы указываете URL-адрес, имя пользователя/пароль и т.д. на сервере jenkins.

Далее, для каждого репозитория появляется ссылка "Stashbot CI Admin" для администраторов репо. Оттуда вы можете установить флажок "включено" и указать, какие ветки вы хотите построить (через регулярное выражение) и какую команду он должен выполнить для выполнения сборки (опционально проверяет и публикует).

После этого момента остальная часть полностью самообслуживания. Любой администратор репо может попросить свой проект "иметь CI", заполнив эту форму, и задания будут автоматически созданы на сервере jenkins.

Надеюсь, что это поможет.

Ответ 2

Настройте SSH-ключ для пользователя, который запускает ваши сборки Jenkins и добавляет его в ключи SSH репозитория в Stash. Для получения инструкций см. Документы в формате Stash.

Ответ 3

Две вещи, которые нужно добавить к ответам Гарета.

  • Хотя я согласен, что использование SSH-ключей определенно лучше, чем жесткое кодирование имени пользователя/пароля, стоит упомянуть, что Stash (в настоящее время) масштабируется лучше с HTTP, когда дело доходит до CI. Если у вас довольно много сборок, мы обычно рекомендуем использовать HTTP. В настоящее время мы расширяем нашу поддержку кэша Git для поддержки SSH, поэтому это уже не проблема.

  • Скорее всего, вам может быть интересно наблюдать и голосовать за следующую функцию, которая упростит создание специальных ключей CI.

Наконец-то наличие значков сборки в Stash удивительно удобно, и вы должны посмотреть на следующий плагин, если вы еще этого не сделали:

https://github.com/jenkinsci/stashNotifier-plugin

Ответ 4

Начиная с версии 2.0 "Git Plugin" для jenkins вы должны иметь возможность напрямую добавлять необходимые учетные данные как для ssh, так и для имени пользователя/пароля (на основе плагина учетных данных).

Подробнее см. в списке изменений Git плагина: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog.

Для дальнейшей интеграции Git и stash в отношении запросов на тягу вам дополнительно понадобится надстройка "Stash Webhook for jenkins" в stash и плагин "Stash Notifier" для jenkins для соединения друг с другом.