Hudson / Jenkins - jak uzyskać dostęp do prywatnego repozytorium git na BitBucket.com

To pytanie jest długie i wieloaspektowe, więc zacznę od krótkiego przeglądu, a następnie pokażę szczegółowo wszystko, co próbowałem i moje pytania, dlaczego nie działają i co robię źle.

Przegląd

Próbuję skonfigurować zadanie budowania na Hudsonie dla kodu źródłowego w prywatnym repozytorium na BitBucket. Istnieje wiele podobnych pytań na temat przepełnienia stosu, ale z różnych powodów żaden z nich nie odpowiada na moje potrzeby.

Chciałbym uzyskać do niego dostęp za pomocą https zamiast ssh, ale wydaje się, że nie ma możliwości dostępu do niego w Hudsonie za pomocą https, a wszyscy w sieci wydają się być sprzedawani na ssh. Więc starałem się, aby działało z ssh, ale na próżno.

Moje główne pytanie brzmi:
Jak mogę uzyskać dostęp do prywatnego repozytorium BitBucket w Hudson?

Uwagi

Zdaję sobie sprawę, że Jenkins jest lepszy, ale pracuję z uznanym serwerem Hudson. Proszę, nie ma rady o przejściu na Jenkins.
Zawarłem Jenkinsa w tytule i jako tag, ponieważ bardziej prawdopodobne niż żadne rozwiązanie będzie miało zastosowanie do obu.W związku z tym, że natrafiłem na kilka ślepych zaułków, zadaję również kilka „pytań cząstkowych”, które omawiają podstawowe pytanie powyżej - dodatkową wdzięczność, jeśli możesz oświecić mnie na ich temat.Problem

Używam wtyczki Git dla Hudson i konfiguruję ją w następujący sposób:

Ponieważ jest to prywatne repozytorium, wymaga ono uwierzytelnienia. Oczywiście kompilacja się nie powiodła. Oto odpowiednie części śledzenia stosu:

ERROR: Error cloning remote repo 'origin' 
hudson.plugins.git.GitException:
Could not clone https://[email protected]/OtherUser/projectname.git
Caused by: hudson.plugins.git.GitException:
org.eclipse.jgit.api.errors.TransportException:
https://[email protected]/OtherUser/projectname.git: not authorized

Pytanie: Dlaczego wtyczka Git dla Hudsona nie ma miejsca w konfiguracji projektu do uwierzytelniania dla prywatnych repozytoriów? W końcu wtyczka SVN może radzić sobie z uwierzytelnianiem. Czy jest dobry powód?

Rzeczy, które próbowałem

Skonfigurowałem projekt tak, aby używał adresu URL ssh zamiast adresu URL https:

Następnie utworzyłem klucz ssh za pomocąten samouczek od Atlassian. Następnie dodałem klucz ssh do projektu w BitBucket.

Próbowałem ponownie zbudować i uzyskać ten ślad stosu (odpowiednie części):

ERROR: Error cloning remote repo 'origin' 
hudson.plugins.git.GitException:
Could not clone [email protected]:OtherUser/projectname.git
Caused by: hudson.plugins.git.GitException:
org.eclipse.jgit.api.errors.TransportException:
[email protected]:OtherUser/projectname.git:
UnknownHostKey: bitbucket.org. RSA key fingerprint is
97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40

Wtedy pomyślałem, że powinienem spróbować skonfigurować Hudsona za pomocą dwóch dostępnych wtyczek ssh, wtyczki Publish Over SSH i wtyczki SSH (o których dowiedziałem siętutaj).

Ale nie wiem, jak z nich korzystać. Po pierwsze, zakładam, że nie potrzebuję wtyczki Publish Over SSH, ponieważ nie próbuję publikować, próbuję tylko wyciągnąć. Po drugie, wtyczka SSH nie działa dla mnie. Próbowałem to zrobić:

Ale problem polega na tym, że nie może się połączyć. Ponadto chce mieć numer portu, a jeśli nic nie wprowadzę, 22 jest używane jako domyślne. Nie mam pojęcia, co z tym zrobić.

Pytanie: Czy muszę nawet skonfigurować witrynę SSH, aby pomyślnie umieścić z tego prywatnego repozytorium BitBucket?

streszczenie

Jak mogę uzyskać dostęp do prywatnego repozytorium BitBucket w Hudson?

W mojej kompilacji Hudson muszę mieć możliwość pobierania z tego prywatnego repozytorium BitBucket. Nie mogę sprawić, by działało z ssh, a nawet nie wiem, czy korzystanie z https jest możliwe, ponieważ nie ma miejsca na wpisanie hasła. Jeśli ktoś pomoże mi w ten sposób, będę szczęśliwy.

questionAnswers(1)

yourAnswerToTheQuestion