Ich habe dieses Tutorial verfolgt :
node {
git url: 'https://github.com/joe_user/simple-maven-project-with-tests.git'
...
}
Es wird jedoch nicht angegeben, wie Anmeldeinformationen hinzugefügt werden sollen. Jenkins hat einen speziellen Abschnitt "Anmeldeinformationen", in dem Sie Benutzer Benutzer & Pass definieren und dann die ID für die Verwendung in Jobs abrufen. Wie verwende ich diese in Pipeline-Anweisungen?
Ich habe versucht mit:
git([url: '[email protected]:company/repo.git', branch: 'master', credentialsId: '12345-1234-4696-af25-123455'])
kein Glück:
stderr: Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Gibt es eine Möglichkeit, die Creds in der Pipeline zu konfigurieren, oder muss ich SSH-Schlüssel in die .ssh / autorisierte_keys-Datei von Jenkins Linux-Benutzer einfügen?
In einer idealen Welt möchte ich ein Repository für Pipeline-Jobs und Repo-Schlüssel haben, dann Docker Jenkins starten und diese Jobs und Schlüssel dort dynamisch hinzufügen, ohne etwas in der Jenkins-Konsole konfigurieren zu müssen.
quelle
credentialsId
kommt aber von id in,/var/lib/jenkins/credentials.xml
da ich mich abmühen musste, es herauszufinden.http://yourjenkinsinstall/credentials
) abzurufen . Die Konfigurationsdateien müssen nicht durchsucht werden.ssh://
. Entfernen Sie es, reparierten Sie es.Zum expliziten Auschecken mit bestimmten Anmeldeinformationen
Zum Auschecken basierend auf den konfigurierten Anmeldeinformationen im aktuellen Jenkins-Job
Sie können beide Phasen in einer einzelnen Jenkins-Datei verwenden.
quelle
Wenn Sie SSH-Anmeldeinformationen verwenden möchten,
Wenn Sie Anmeldeinformationen für Benutzername und Kennwort verwenden möchten, müssen Sie den http-Klon wie in @Serban angegeben verwenden.
quelle
Adding new global credentials -> 7.
folgenden Link. jenkins.io/doc/book/using/using-credentialsFügen Sie ein kurzes Beispiel mit dem Git-Plugin GitSCM hinzu :
in Ihrer Pipeline
quelle
checkout
Beispiel wie diesem gesucht , danke.Für das, was es wert ist, zur Diskussion hinzugefügt zu werden ... was ich getan habe, hat mir letztendlich geholfen ... Da die Pipeline in einem Arbeitsbereich innerhalb eines Docker-Images ausgeführt wird, das bei jeder Ausführung bereinigt wird. Ich habe die Anmeldeinformationen abgerufen, die zum Ausführen der erforderlichen Vorgänge für das Repo in meiner Pipeline erforderlich sind, und sie in einer .netrc-Datei gespeichert. Dadurch konnte ich die Git-Repo-Operationen erfolgreich autorisieren.
quelle
Es löste sich für mich mit
quelle