2013-09-26 19 views
12

Ho appena installato Jenkins e ho alcuni repository nel mio Stash. Ho installato il "plugin Git" in jenkins. Ora posso inserire l'URL del repository ma non c'è nulla per inserire le mie credenziali.Come posso usare Jenkins con Atlassian Stash?

E 'possibile utilizzare

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

ma questo è qualcosa che non voglio fare.

Cos'altro posso fare per l'autenticazione?

risposta

6

Impostare una chiave SSH per l'utente che esegue le build Jenkins e aggiungerlo alle chiavi SSH del repository in Stash. Consulta lo Stash docs per le istruzioni.

5

Due cose da aggiungere alla risposta di Gareth.

  1. Mentre sono d'accordo che l'uso di chiavi SSH sono sicuramente meglio di codificare il nome utente/password, vale la pena ricordare che Stash (attualmente) scales better con HTTP quando si tratta di CI. Se hai un bel numero di build, generalmente ti consigliamo di usare HTTP. Stiamo attualmente estendendo il nostro supporto per la cache Git per supportare SSH, quindi questo non rappresenta più un problema.

  2. Un po 'in relazione, si potrebbe essere interessati a guardare e votare per il seguente feature che renderà più semplice la creazione di chiavi specifiche dell'elemento.

Infine dover costruire icone mostrano in Stash è sorprendentemente a portata di mano, e si dovrebbe avere uno sguardo al seguente plug-in se non l'hai già:

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

+0

Vale la pena notare anche che lo stash attualmente fallisce casualmente cloni con http (s) ma non con git protocol = ( https://jira.atlassian.com/browse/STASH-6887 – cmyers

8

Io sono l'autore di questo plugin scorta che potrebbe aiutare: https://github.com/palantir/stashbot

Prendendo selettivamente dal readme:

Per lavorare con Jenkins, DEVI installare prima i seguenti plugin jenkins.

  • Jenkins GIT plug
  • Messaggio compito costruire

Avanti, costruire e installare il plugin utilizzando l'SDK plug-in (maggiori dettagli nel readme)

Avanti, l'amministratore scorta va in la pagina di amministrazione di Stashbot e crea una configurazione del server jenkins: qui gli fornisci l'URL, il nome utente/password, i dettagli del server jenkins.

Successivamente, per ciascun repository viene visualizzato un collegamento "Amministratore CI Stashbot" per gli amministratori di repository. Da lì puoi controllare la casella di controllo "abilitata" e dirgli quali rami vuoi costruire (tramite una regex) e quale comando dovrebbe essere eseguito per eseguire la build (verifica e pubblica opzionalmente).

Dopo questo punto, il resto è completamente self-service. Qualsiasi amministratore di repository può chiedere al proprio progetto di "disporre di elementi di configurazione" compilando tale modulo e i lavori verranno automaticamente creati nel server di jenkins.

Spero che questo aiuti.

+1

-1 Si prega di riassumere come risolvere il problema reale dell'OP. L'inclusione di un collegamento è soddisfacente, ma le risposte di solo collegamento sono sconsigliate. – tripleee

+1

Aggiornato con i dettagli dal README. – cmyers

4

Dalla versione 2.0 di "Git Plugin" per jenkins dovresti essere in grado di aggiungere direttamente le credenziali richieste sia per ssh che per nome utente/password (in base al plug-in delle credenziali).

Vedere il registro di modifiche del plug-in Git: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog per i dettagli.

Per un'ulteriore integrazione di git e stash per quanto riguarda le richieste di pull, è inoltre necessario il plug-in "Stash Webhook per jenkins" in stash e il plug-in "Stash Notifier" per connettere jenkins l'un l'altro.