2015-07-14 14 views
14

otrzymuję następujący błąd przy próbie wyzwalania kompilacji za pomocą następującego polecenia:Jenkins zdalnego wyzwalania nie działa

curl http://jenkins_server:port/jenkins/job/job_name/build?token=token_name

wyjściowa:

uwierzytelniania wymaganego

< - Jesteś uwierzytelniony jako: anonimowy
Grupy, w których jesteś :

Pozwolenie trzeba mieć (ale nie): hudson.model.Hudson.Read
... która stanowi założoną przez: hudson.security.Permission.GenericRead
... co jest domniemanych przez : hudson.model.Hudson.Administer
->

mam uprawnień administratora, a także włączone 'Uwierzytelnianie Reklamowe'. Mam również prawa do tworzenia, odkrywania i czytania w pracy. Używam Jenkins 1.614.

Sprawdziłem kilka postów przez Internet, ale nie znalazłem nic, co byłoby dla mnie skuteczne.

Próbowałem kilka opcji, takich jak
1) curl -X POST http://jenkins_server:port/jenkins/job/job_name/build?token=token_name
2) curl użytkownika -u: API (Drukuje długiej strony HTML)

wszelkie sugestie.

Odpowiedz

14

zainstalować Budowanie Reklamowe Korzeń wtyczki, aby rozwiązać ten problem przed

https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin

Następnie jako taki sam, konfiguracji uwierzytelniania Reklamowe

Wreszcie użyć curl do wyzwalania zdalnego budować (Bądź ostrożny charakter ucieczki "\")

curl http://JENKINS_URL/buildByToken/build?job=JOB_NAME\&token=TOKEN_NAME

lub wklej Adres URL przeglądarki (nie ma potrzeby, aby uciec przed znakiem "\")

http://JENKINS_URL/buildByToken/build?job=JOB_NAME&token=TOKEN_NAME

Jeśli widzisz powodzenie, oznacza to, że pomyślnie powiodło się zdalne sterowanie Jenkins.

zauważyć, że nie masz do konfiguracji kompilacji, odkryć i odczytać prawa do pracy

Aby uzyskać więcej informacji, można odwołać się do https://cloudbees.zendesk.com/hc/en-us/articles/204338790-Why-are-builds-not-being-triggered-with-Build-Token-Root-Plugin-

+0

Byłem naprawdę sfrustrowany wypróbowywaniem różnych rzeczy. Jestem pewien, że widziałem tę sugestię wtyczki Token Root na innym łączu i zauważyłem, że wtyczka jest już zainstalowana w moim systemie, ale wygląda na to, że przeoczyłem składnię tego czasu. :(Czytając odpowiedź, w jakiś sposób zauważyłem poprawną składnię: P Bardzo dziękuję! :) Zupełnie ulżyło! :) – Technext

+0

dziękuję za wskazanie potrzeby ucieczki char. tego mi brakowało. – OK999

+0

Mam ten sam problem, gdy próbuję zintegrować gitlab i jenkins. Używam funkcji inbuild gitlab do testowania wyzwalacza push. Który rzuca mi powyższy błąd. Co można zrobić, żeby go rozwiązać w moim przypadku? –

1

Install parametryzowane budować wtyczki

https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build

Jeśli używasz tokena autoryzacji wyzwolić kompilacje (Job -> Konfiguracja -> 'Build wyzwala' -> „wyzwalania buduje zdalnie (na przykład ze skryptów) "), można uzyskać dostęp:

curl -X POST http://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value

+1

Wtyczka jest już zainstalowany i jak już wspomniałem w moim poście, próbowałem sugerowane składni, ale to nie działa. Otrzymuję ten sam błąd. – Technext

3

Proponuję spróbować Jenkins Python API. Zapewnia on działanie, które bardzo łatwo wyzwala zadanie.

build_job(name, parameters=None, token=None) 
    Trigger build job. 

    Parameters: 
    name – name of job 
    parameters – parameters for job, or None, dict 
    token – Jenkins API token 
+0

Ponieważ sugestia JenTinga zadziałała dla mnie, na razie pójdę na to, ale dzięki za Twoją sugestię! Ten interfejs API może się przydać czasem. :) – Technext

4

Miałem ten sam problem po skonfigurowaniu testowego serwera Jenkins. Rozwiązaniem było uwierzytelnianie za pomocą mojego Jenkins hasła administratora:

curl -u admin:<mypassword> http://localhost:8080/job/Test/build?token=<mytoken> 

Użyj tej samej nazwy użytkownika i hasło używane do logowania na Jenkinsa. Nie było potrzeby instalowania dodatkowych wtyczek.

6

myślę, że nie ma potrzeby, aby skonfigurować dowolny rodzaj wtyczki, aby to działa, po prostu zrobić tej partii CMD:

curl -X POST http://USER_ID_JENKINS_RECEIVER:[email protected]_JENKINS_RECEIVER:PORT/job/NAME_OF_JOB/buildWithParameters?token=TOKEN_JOB_JENKINS_RECEIVER 
  • cię widzieć USER_ID_TOKEN, przejdź do nazwy użytkownika u w prawym górnym rogu strony Jennkins> przejdź do Konfiguruj> Kliknij na token API i zostanie wyświetlony.

  • Musisz skonfigurować żeton na JOB_OF_JENKINS_RECEIVER

muszę powiedzieć, że działa doskonale na Jenkins bez jakichkolwiek uprawnień do anonimowych użytkowników.

+0

Mam ten sam problem przy próbie integracji gitlab i jenkins. Używam funkcji inbuild gitlab do testowania wyzwalacza push. Który rzuca mi powyższy błąd. Co można zrobić, aby rozwiązać to w moim przypadku –

0

Na 1.625.3, dając dostęp do Anonymous przeczytać niemal wszystko działało dla mnie

Powiązane problemy