Как: Teamcity + GitHub - PullRequest
       42

Как: Teamcity + GitHub

34 голосов
/ 28 апреля 2009

Кто-нибудь успешно настроил Teamcity для мониторинга, распаковки и сборки из GitHub?

Я не могу понять, как, где и как настроить ключи SSH для Teamcity. У меня Teamcity работает как системный сервис под системной учетной записью. Так где же Teamcity хранит свою конфигурацию SSH?

EDIT

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

Ответы [ 8 ]

27 голосов
/ 02 мая 2009

Хорошо ... Я получил это, чтобы начать работать на моем сервере Windows. Вот шаги, которые я предпринял для настройки TeamCity 4.5 Professional :

  1. Загрузил JetBrains Git VCS Плагин
  2. Скопировал загруженный zip-файл в .BuildServer\plugins
  3. В Администрировании> Изменить конфигурацию сборки> Изменить экран конфигурации корневого VCS я выбрал «Git (JetBrains)»
  4. Введен мой URL-адрес клона со страницы проекта GitHub
  5. Установите для метода аутентификации «Закрытый ключ по умолчанию» - это ВАЖНО
    1. TeamCity BuildAgent должен работать от имени обычного пользователя, при этом установка SSH должна быть правильно настроена для этого пользователя.
    2. Следуйте указаниям GitHub SSH для настройки SSH
  6. Оставьте имя пользователя пустым. Это должно быть уже указано в URL вашего клона GitHub
7 голосов
/ 14 декабря 2012

Я получил «Закрытый ключ по умолчанию» для работы с агентами, работающими как пользователь SYSTEM в Windows. Для меня ответом был идентификационный файл на

C:\Windows\SysWOW64\config\systemprofile\.ssh\id_rsa

вместо

C:\Windows\System32\config\systemprofile\.ssh\id_rsa

4 голосов
/ 17 января 2015

Ваш вопрос относится к SSH, но, безусловно, проще и быстрее использовать HTTP поверх TLS, поскольку GitHub и TeamCity теперь поддерживают HTTP-аутентификацию. Кроме того, GitHub также поддерживает персональные токены API с ограниченными разрешениями, которые вы можете настроить по своему вкусу или создать нового пользователя, если хотите.

См. Изображение ниже наших настроек TeamCity.

Teamcity configuration

2 голосов
/ 07 октября 2015

Начиная с TeamCity 8.1, существует официальная поддержка управления ключами SSH, пожалуйста, прочитайте эту документацию: https://confluence.jetbrains.com/display/TCD9/SSH+Keys+Management

1 голос
/ 03 января 2014

(это актуальный ответ на старый вопрос)

У меня есть сборки на основе ssh, работающие с github / gitlab и teamcity 7, например:

Войдите на машину teamcity и используйте puttygen / ssh-keygen, чтобы сгенерировать пару ключей rsa и сохранить ключ openssh где-нибудь разумным. (Получил - Использование puttygen? Убедитесь, что закрытый ключ в формате openssh - puttygen> преобразования> экспорт ключа openssh)

Я предлагаю вам сохранить закрытый ключ в

C:\.ssh\id_rsa

Теперь установите «закрытый ключ по умолчанию» в teamcity - создайте файл

C:\.ssh\config

И в нем это место:

Host * IdentityFile c:\.ssh\id_rsa

Войдите в свою учетную запись gitlab / guthub и вставьте открытый ключ openssh для своего личного ключа teamcity.

Теперь вы сможете создать корень git vcs в teamcity, который может использовать закрытый ключ по умолчанию для извлечения вашего источника.

1 голос
/ 21 января 2012

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

0 голосов
/ 12 апреля 2016

Не знаю почему, но выбор Default Private Key мне не удался.

Затем я выбираю Custom Private Key, как показано на снимке экрана ниже: enter image description here

Поле Username должно быть пустым.

Поле Passphrase является паролем вашего личного ключа

(Предположим, вы уже добавили открытый ключ этого закрытого ключа в git.)

Надеюсь, никто не застрял как я!

0 голосов
/ 28 апреля 2009

Вам может понадобиться сторонний плагин, такой как this

...