繁体   English   中英

Git 在 jenkins 上检出修订失败

[英]Git fails Checking out Revision on jenkins

在詹金斯我得到一个错误

Checking out Revision 028951e3660cfba709acb85d4620ce071f89451b (origin/JenkinsTest)
Enabling Git LFS pull
> git.exe config core.sparsecheckout # timeout=10
> git.exe checkout -f 028951e3660cfba709acb85d4620ce071f89451b
FATAL: Could not checkout 028951e3660cfba709acb85d4620ce071f89451b
hudson.plugins.git.GitException: Command "git.exe checkout -f 028951e3660cfba709acb85d4620ce071f89451b" returned status code 128:
stdout: 
stderr: fatal: reference is not a tree: 028951e3660cfba709acb85d4620ce071f89451b

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1990)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$800(CliGitAPIImpl.java:72)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2289)
Caused: hudson.plugins.git.GitException: Could not checkout 028951e3660cfba709acb85d4620ce071f89451b
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2313)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1210)
    at hudson.scm.SCM.checkout(SCM.java:495)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1202)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
    at hudson.model.Run.execute(Run.java:1724)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:421)

Sending e-mails to: xxxxxxxxxxxxxxxxx
Finished: FAILURE

问题如下:
我们使用我们自己的 Gitlab-Server 并且存储库是从 github 导入的。

为了测试,我创建了分支“origin/jenkinsTest”,它在 Gitlab 上的错误中被引用。

测试后,我删除了 gitlab 上的存储库,并从 github 中删除了新的 importet。 现在当然没有分支“origin/jenkinsTest”了。

我已经为这个存储库删除了 Jenkins 上的工作区,但它一直因这个错误而失败。

我该如何解决这个问题?


在另一台 PC 上,我可以完美地从 Gitlab 克隆存储库,因此它不会在 Gitlab-Server 上失败,但必须在 Jenkins-Server (Windows 10) 上。


编辑
按照评论中的建议在另一个克隆上运行git branch -r给了我

origin/BugFixing
origin/CoroutinesDisableButtons
origin/GestureRotation
origin/MovePanelsOnMove
origin/NewNetworking
origin/RebuildUIWithPrefabs
origin/ShowSimpleModelsOnly
origin/SourceLostBug
origin/States_Management
origin/SwitchToplayers
origin/UI-Panels
origin/UIFeinschliff
origin/master

实际上,就在上面的错误之前,我在 Jenkins 输出中也看到了这样的情况:

Seen branch in repository origin/BugFixing
Seen branch in repository origin/CoroutinesDisableButtons
Seen branch in repository origin/GestureRotation
Seen branch in repository origin/MovePanelsOnMove
Seen branch in repository origin/NewNetworking
Seen branch in repository origin/RebuildUIWithPrefabs
Seen branch in repository origin/ShowSimpleModelsOnly
Seen branch in repository origin/SourceLostBug
Seen branch in repository origin/States_Management
Seen branch in repository origin/SwitchToplayers
Seen branch in repository origin/UI-Panels
Seen branch in repository origin/UIFeinschliff
Seen branch in repository origin/master
 seen 13 remote branches
 > git.exe show-ref --tags -d # timeout=10

编辑 2
我创建并配置了一个具有不同名称的新作业,这个克隆/结帐/拉取 git 就好了,而使用原始作业它仍然失败。 (我让 Jenkins 在构建之前清理工作区,并手动删除完整的工作区文件夹)。

是否有关于工作区文件夹之外存储的 Job/Git 的任何数据?!

解决此问题的唯一方法是删除整个作业定义(不仅是工作区)并创建一个具有相同设置的新作业定义。 现在它克隆并构建一切正常。

因此,似乎已经证实 Jenkins 在某处存储了更多有关 git 存储库的信息,而不仅仅是在作业的工作区中。

我已经看到作业定义本身存储在<JenkinsInstall>\\Jobs并且可能还有关于前拉分支的信息与前构建信息存储在一起。

删除工作区中的旧项目并再次运行测试以克隆并运行测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM