Jenkins错误:无法以起点<sha1>结帐<branch name =“”>

时间:2016-01-11 13:02:32

标签: git jenkins version-control continuous-integration gitlab

我已经从develop分支创建了一个分支,并为这个新分支配置了Jenkins作业。在分支出这个新分支之前,实际上我要删除develop分支中的现有目录(在本地删除目录,然后提交更改并推送到远程),这是最后一次提交。

强制构建后,Jenkins发出错误"Could not checkout <branch name> with start point <SHA1>"。这个SHA1是我在开发分支上完成的最后一次提交,然后通过删除目录来扩展这个新分支。

我尝试了几种方法,比如重建,擦除工作空间,然后重建等,没有任何运气。虽然Jenkins无法结账,但是我的本地git存储库可以签出这个新分支并且可以毫无问题地进行处理。

我正在努力解决这个问题但没有取得多大成功,并发现了这个Jenkins问题,但我不确定是否相同。 https://issues.jenkins-ci.org/browse/JENKINS-26748

请问有人帮我解决这个问题吗?

以下是完整日志......

Started by user anonymous
    Building in workspace C:\Projects\CI_01\Jenkins_1.6\jobs\Velo-TFS675-InvoiceRegister\workspace
    Cloning the remote Git repository
    Cloning repository https://git.mesite.com/EAG/Velo.git
     > C:\Projects\Git\bin\git.exe init C:\Projects\CI_01\Jenkins_1.6\jobs\Velo-TFS675-InvoiceRegister\workspace # timeout=10
    Fetching upstream changes from https://git.mesite.com/EAG/Velo.git
     > C:\Projects\Git\bin\git.exe --version # timeout=10
    using .gitcredentials to set credentials
     > C:\Projects\Git\bin\git.exe config --local credential.username ourbuildusr # timeout=10
     > C:\Projects\Git\bin\git.exe config --local credential.helper store --file=\"C:\Users\BUILD~1\AppData\Local\Temp\git8122784540015506.credentials\" # timeout=10
     > C:\Projects\Git\bin\git.exe -c core.askpass=true fetch --tags --progress https://git.mesite.com/EAG/Velo.git +refs/heads/*:refs/remotes/origin/* # timeout=60
     > C:\Projects\Git\bin\git.exe config --local --remove-section credential # timeout=10
     > C:\Projects\Git\bin\git.exe config remote.origin.url https://git.mesite.com/EAG/Velo.git # timeout=10
     > C:\Projects\Git\bin\git.exe config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
     > C:\Projects\Git\bin\git.exe config remote.origin.url https://git.mesite.com/EAG/Velo.git # timeout=10
    Fetching upstream changes from https://git.mesite.com/EAG/Velo.git
    using .gitcredentials to set credentials
     > C:\Projects\Git\bin\git.exe config --local credential.username ourbuildusr # timeout=10
     > C:\Projects\Git\bin\git.exe config --local credential.helper store --file=\"C:\Users\EAGBUI~1\AppData\Local\Temp\git8122784540015506.credentials\" # timeout=10
     > C:\Projects\Git\bin\git.exe -c core.askpass=true fetch --tags --progress https://git.mesite.com/EAG/Velo.git +refs/heads/*:refs/remotes/origin/* # timeout=60
     > C:\Projects\Git\bin\git.exe config --local --remove-section credential # timeout=10
     > C:\Projects\Git\bin\git.exe rev-parse "refs/remotes/origin/tfs675-invoice_register^{commit}" # timeout=10
     > C:\Projects\Git\bin\git.exe rev-parse "refs/remotes/origin/origin/tfs675-invoice_register^{commit}" # timeout=10
    Checking out Revision 7dc4f9190358c20b01d2980e3ba5c7039ace377c (refs/remotes/origin/tfs675-invoice_register)
     > C:\Projects\Git\bin\git.exe config core.sparsecheckout # timeout=10
     > C:\Projects\Git\bin\git.exe checkout -f 7dc4f9190358c20b01d2980e3ba5c7039ace377c # timeout=10
    ERROR: Timeout after 10 minutes
    FATAL: Could not checkout tfs675-invoice_register with start point 7dc4f9190358c20b01d2980e3ba5c7039ace377c
    hudson.plugins.git.GitException: Could not checkout tfs675-invoice_register with start point 7dc4f9190358c20b01d2980e3ba5c7039ace377c
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$8.execute(CliGitAPIImpl.java:1905)
        at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1060)
        at hudson.scm.SCM.checkout(SCM.java:485)
        at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)
        at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
        at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
        at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
        at hudson.model.Run.execute(Run.java:1741)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
        at hudson.model.ResourceController.execute(ResourceController.java:98)
        at hudson.model.Executor.run(Executor.java:381)
    Caused by: hudson.plugins.git.GitException: Command "C:\Projects\Git\bin\git.exe checkout -f 7dc4f9190358c20b01d2980e3ba5c7039ace377c" returned status code -1:
    stdout: 
    stderr: 
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1640)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1616)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1612)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1254)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1266)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$8.execute(CliGitAPIImpl.java:1881)
        ... 10 more

2 个答案:

答案 0 :(得分:2)

我没有完全看到这个错误。当我们尝试结帐的分支已从远程删除时,我经常会看到类似的错误。但有一件事要做,就是在你的jenkins工作的git clone选项中,设置clean before checkout我们还prune stale remote branches

答案 1 :(得分:0)

工作区中的旧项目需要删除,然后在Jenkins中再次运行测试以进行克隆