2013-09-26 2 views
12

Ich habe gerade Jenkins eingerichtet und ich habe einige Repositories in meinem Stash. Ich habe das "Git-Plugin" in Jenkins installiert. Ich kann jetzt die Repository-URL eingeben, aber es gibt nichts, um meine Anmeldeinformationen einzugeben.Wie kann ich Jenkins mit Atlassian Stash verwenden?

Es ist möglich,

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

verwenden, aber das ist etwas, was ich möchte nicht tun.

Was kann ich sonst noch tun, um mich zu authentifizieren?

Antwort

6

Richten Sie einen SSH-Schlüssel für den Benutzer ein, der Ihre Jenkins-Builds ausführt und sie den SSH-Schlüsseln des Repositorys in Stash hinzufügt. Anweisungen finden Sie unter Stash docs.

5

Zwei Dinge zu Gareths Antwort hinzufügen.

  1. Während ich zustimme, dass die Verwendung von SSH-Schlüssel auf jeden Fall besser als Hartcodierung der Benutzername/Passwort, es ist erwähnenswert, dass Stash (derzeit) scales better mit HTTP zu erwähnen, wenn es um CI kommt. Wenn Sie einige Builds haben, empfehlen wir generell, HTTP zu verwenden. Wir erweitern derzeit unsere Git-Cache-Unterstützung zur Unterstützung von SSH, so dass dies kein Problem mehr darstellt.

  2. Etwas verwandt, könnten Sie interessiert sein, die folgenden feature zu sehen und zu wählen, was es einfacher macht, CI-spezifische Schlüssel zu erstellen.

mit Schließlich bauen Symbole in Stash aufkreuzen ist überraschend handlich, und Sie sollten einen Blick auf die folgende Plugin haben, wenn Sie nicht bereits haben:

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

+0

Es ist erwähnenswert, dass stash momentan zufällig Klone mit http (s) aber nicht mit git protocol = ( https://jira.atlassian.com/browse/STASH-6887 – cmyers

8

Ich bin der Autor diese Stash-Plugin, das Ihnen helfen kann: https://github.com/palantir/stashbot

selektiv aus der readme Einnahme:

Für die Arbeit mit Jenkins, du MUSST zuerst die folgenden jenkins plugins installieren.

  • Jenkins GIT Plugin
  • Beitrag Build-Task

Als nächstes bauen und das Plugin mit dem Plugin SDK (weitere Details in der Readme)

Nächstes installieren, die Stash Admin geht in die Stashbot-Admin-Seite und erstellt eine jenkins-Serverkonfiguration - hier geben Sie die URL, den Benutzernamen/das Passwort usw. des jenkins-Servers an.

Als nächstes wird für jedes Repository ein Link "Stashbot CI Admin" für Repo-Administratoren angezeigt. Von dort aus können Sie das Kontrollkästchen "enabled" aktivieren und ihm mitteilen, welche Zweige Sie erstellen möchten (über eine Regex) und welchen Befehl es ausführen soll, um den Build auszuführen (optional zu überprüfen und zu veröffentlichen).

Nach diesem Punkt ist der Rest vollständig Self-Service. Jeder Repo-Administrator kann nach seinem CI-Projekt fragen, indem er dieses Formular ausfüllt, und die Jobs werden automatisch auf dem jenkins-Server erstellt.

Hoffe, dass hilft.

+1

-1 Bitte zusammenfassen, wie zu tun Lösen Sie das eigentliche Problem des OP. Ein Link ist in Ordnung, aber Link-only-Antworten werden abgeraten. – tripleee

+1

Aktualisiert mit Details aus der README. – cmyers

4

Seit Version 2.0 von "Git Plugin" für jenkins sollten Sie in der Lage sein, die erforderlichen Zugangsdaten für ssh und username/password direkt hinzuzufügen (basierend auf dem credentials plugin).

Siehe changelog von Git-Plugin: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog für Details.

Für die weitere Integration von Git und Stash bezüglich Pull Requests benötigen Sie zusätzlich das Add-on "Stash Webhook for jenkins" im Stash und das Plugin "Stash Notifier" für jenkins, um sich miteinander zu verbinden.

Verwandte Themen