Ich bin sicher, dass ich etwas Dummes mache, dass die meisten von euch an, lachen werden, aber ich kann nicht scheinen, Jenkins mit Multi zu bauen - Leitungsrohrleitung. Ich habe das Problem auf das Wesentliche reduziert. Eine einzelne Verzweigung (Master) mit einem leeren Knoten JenkinsFile. Ich habe ein zweites Projekt, ein Standard-Freestyle-Projekt, das im Grunde läuft true
, um zu überprüfen, dass es baut.Kann nicht scheinen, Multi-Zweig Pipeline zu bekommen mit JenkinsFile arbeitet
Hier ist meine Freestyle-Konfiguration:
Repository URL: ssh://[email protected]:7999/dw/foobar.git
Credentials: None
BUILD
Execute Shell
Command: True
Und die Build funktioniert. (Grundsätzlich sind die Repo-Kontrollen, true
läuft, und auch der Bau als Erfolg berichtet
Hier ist meine mehrfach verzweigten Konfiguration bauen.
BRANCH SOURCES
Project Repository: ssh://[email protected]:7999/dw/foobar.git
Credentials: None
BUILD CONFIGURATION
Mode: By JenkinsFile
Wenn ich Zweig Indizierung zu tun, erhalte ich einen Fehler und das Protokoll sagt:
node {
}
:
Started
Setting origin to ssh://[email protected]:7999/dw/foobar.git
Fetching origin...
FATAL: Failed to recompute children of test » Jenkinsfile Test \
java.lang.IllegalStateException: Cannot open session, connection is \
not authenticated.
at com.trilead.ssh2.Connection.openSession(Connection.java:1127)
at org.jenkinsci.plugins.gitclient.trilead.TrileadSession.exec(TrileadSession.java:32)
at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)
at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)
at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:136)
at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1138)
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130)
at org.jenkinsci.plugins.gitclient.JGitAPIImpl.fetch(JGitAPIImpl.java:678)
at jenkins.plugins.git.AbstractGitSCMSource.retrieve(AbstractGitSCMSource.java:174)
at jenkins.scm.api.SCMSource.fetch(SCMSource.java:146)
at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:294)
at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:157)
at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:122)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Finished: FAILURE
Mein JenkinsFile sagt (die in der Wurzel des Repo sitzt)
Das funktioniert, wenn ich keine Multi-Branch-Pipeline mache und diese einfach als Jenkins-Build-Skript einfüge. Ich möchte nur bestätigen, dass Jenkins meine JenkinsFile abholen kann.