2017-02-23 5 views
0

Ich bekomme den folgenden Fehler, wenn Sie versuchen, ein Jenkins-Build eines Projekts aus einem GitHub-Repository für einen poc. Jenkins ist eine lokale Installation und ich verwende die HTTPS-Adresse für Git mit dem Benutzernamen und dem Passwort, die ich benutze, um mich bei GitHub anzumelden. Kann mir jemand hier einige Hinweise bieten, wie ich beide neu bin Jenkins und GitHubJenkins Git Plugin

Building in workspace C:\Program Files (x86)\Jenkins\workspace\AdventureWorks2014 - 1. Build 
 
Cloning the remote Git repository 
 
Cloning repository https://github.com/h020905a/AdventureWorks2014.git 
 
> git.exe init C:\Program Files (x86)\Jenkins\workspace\AdventureWorks2014 - 1. Build # timeout=10 
 
Fetching upstream changes from https://github.com/h020905a/AdventureWorks2014.git 
 
> git.exe --version # timeout=10 
 
using GIT_ASKPASS to set credentials 
 
> git.exe fetch --tags --progress https://github.com/h020905a/AdventureWorks2014.git +refs/heads/*:refs/remotes/origin/* 
 
ERROR: Error cloning remote repo 'origin' 
 
hudson.plugins.git.GitException: Error performing git command 
 
\t at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1793) 
 
\t at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1513) 
 
\t at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:64) 
 
\t at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:315) 
 
\t at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:512) 
 
\t at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1057) 
 
\t at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1097) 
 
\t at hudson.scm.SCM.checkout(SCM.java:495) 
 
\t at hudson.model.AbstractProject.checkout(AbstractProject.java:1278) 
 
\t at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604) 
 
\t at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 
 
\t at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) 
 
\t at hudson.model.Run.execute(Run.java:1728) 
 
\t at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
 
\t at hudson.model.ResourceController.execute(ResourceController.java:98) 
 
\t at hudson.model.Executor.run(Executor.java:404) 
 
Caused by: org.jvnet.winp.WinpException: Failed to read RT_USER_PROCESS_PARAMETERS error=299 at envvar-cmdline.cpp:151 
 
\t at org.jvnet.winp.Native.getCmdLineAndEnvVars(Native Method) 
 
\t at org.jvnet.winp.WinProcess.parseCmdLineAndEnvVars(WinProcess.java:126) 
 
\t at org.jvnet.winp.WinProcess.getCommandLine(WinProcess.java:102) 
 
\t at hudson.util.ProcessTree$Windows$1.getArguments(ProcessTree.java:444) 
 
\t at hudson.plugins.msbuild.MsBuildKillingVeto.vetoProcessKilling(MsBuildKillingVeto.java:56) 
 
\t at hudson.util.ProcessTree$OSProcess.getVeto(ProcessTree.java:242) 
 
\t at hudson.util.ProcessTree$Windows$1.killRecursively(ProcessTree.java:425) 
 
\t at hudson.util.ProcessTree.killAll(ProcessTree.java:145) 
 
\t at hudson.Proc$LocalProc.destroy(Proc.java:380) 
 
\t at hudson.Proc$LocalProc.join(Proc.java:353) 
 
\t at hudson.Proc.joinWithTimeout(Proc.java:166) 
 
\t at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1780) 
 
\t ... 15 more 
 
ERROR: null 
 
Finished: FAILURE

Antwort

0

Wenn Ihr Github Login-Passwort Sonderzeichen enthält, dann ist die Frage, die Sie vielleicht stellen uns die Frage ähnlich sein in diesem Ticket beschrieben: https://issues.jenkins-ci.org/browse/JENKINS-38655

Sie können versuchen, Ihre Arbeit zu JGit verwenden. Zitat aus der Antwort von Mark Waite in dem oben genannten Ticket:

"Wenn Sie nicht TFS verwenden, aber Sonderzeichen im Passwort des bestimmten Benutzers (wie Caret oder kaufmännisches Und-Zeichen oder einfaches Zitat oder Anführungszeichen), dann dies möglicherweise ein Duplikat von JENKINS-38194. In diesem Fall kann es darum gehen, den Job von der Verwendung der Befehlszeilen-Git-Implementierung zur Verwendung der JGit-Implementierung zu wechseln. Die JGit-Implementierung muss zuerst global von "Jenkins verwalten" aktiviert werden. Globale Werkzeugkonfiguration "," Git ", dann gibt es in jedem Auftrag eine Auswahlliste, in der Sie auswählen können, ob der Auftrag die Befehlszeile git oder JGit verwenden soll."

0

Behebung des Problems, indem die Verzweigung in GitHub auf Master umgestellt und das Repo veröffentlicht wurde.