Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Jenkins上获取git存储库时出错(不是每次)_Git - Fatal编程技术网

在Jenkins上获取git存储库时出错(不是每次)

在Jenkins上获取git存储库时出错(不是每次),git,Git,我有Jenkins的工作来运行单元测试。每隔10分钟,它会检查git存储库中是否有任何新的更改。如果发现一些变化,它将运行测试 此错误每2-3次生成发生一次。其他版本也可以 出现错误的日志: > git rev-parse --is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url gitlab@gitlab:gr

我有Jenkins的工作来运行单元测试。每隔10分钟,它会检查git存储库中是否有任何新的更改。如果发现一些变化,它将运行测试

此错误每2-3次生成发生一次。其他版本也可以

出现错误的日志:

 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url gitlab@gitlab:group/project.git # timeout=10
Pruning obsolete local branches
Fetching upstream changes from gitlab@gitlab:group/project.git
 > git --version # timeout=10
 > git fetch --tags --progress gitlab@gitlab:group/project.git +refs/heads/*:refs/remotes/origin/* --prune
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from gitlab@gitlab:group/project.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:797)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1051)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1082)
    at hudson.scm.SCM.checkout(SCM.java:485)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
    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:410)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress gitlab@gitlab:group/project.git +refs/heads/*:refs/remotes/origin/* --prune" returned status code 1:
stdout: 
stderr: remote: Counting objects: 14, done.
remote: Compressing objects:   7% (1/14)   
remote: Compressing objects:  14% (2/14)   
remote: Compressing objects:  21% (3/14)   
remote: Compressing objects:  28% (4/14)   
remote: Compressing objects:  35% (5/14)   
remote: Compressing objects:  42% (6/14)   
remote: Compressing objects:  50% (7/14)   
remote: Compressing objects:  57% (8/14)   
remote: Compressing objects:  64% (9/14)   
remote: Compressing objects:  71% (10/14)   
remote: Compressing objects:  78% (11/14)   
remote: Compressing objects:  85% (12/14)   
remote: Compressing objects:  92% (13/14)   
remote: Compressing objects: 100% (14/14)   
remote: Compressing objects: 100% (14/14), done.
remote: Total 14 (delta 11), reused 0 (delta 0)
From gitlab:group/project
 + 9d4232f...2eb8fcb HEAD       -> origin/HEAD  (forced update)
error: Ref refs/remotes/origin/develop is at 2eb8fcb4a998bab10ee5851a56b61b5fc3b7bec5 but expected 9d4232f08532456b4c69a0307cdc96bd267f12b2
 ! 9d4232f..bcdc945  develop    -> origin/develop  (unable to update local ref)
   eb750cb..b4d4ce2  master     -> origin/master

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1752)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1495)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:64)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:315)
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:795)
    ... 11 more
ERROR: null
以下是未出现该错误的生成日志:

 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url gitlab@gitlab:group/project.git # timeout=10
Pruning obsolete local branches
Fetching upstream changes from gitlab@gitlab:group/project.git
 > git --version # timeout=10
 > git fetch --tags --progress gitlab@gitlab:group/project.git +refs/heads/*:refs/remotes/origin/* --prune
 > git rev-parse origin/develop^{commit} # timeout=10
Checking out Revision 2eb8fcb4a998bab10ee5851a56b61b5fc3b7bec5 (origin/develop)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 2eb8fcb4a998bab10ee5851a56b61b5fc3b7bec5
 > git rev-list 9d4232f08532456b4c69a0307cdc96bd267f12b2 # timeout=10
Set build name.
New build name is '#16007-origin/develop-2eb8fcb'
[workspace] $ /bin/sh -xe /tmp/hudson5005409752690042196.sh
+ echo ''
+ echo ''
+ /usr/local/bin/prove -j 3 --lib --timer --nocount --formatter=TAP::Formatter::JUnit /var/lib/jenkins/jobs/project/workspace/t
Build step 'Execute shell' marked build as failure
Set build name.
New build name is '#16007-origin/develop-2eb8fcb'
Variable with name 'BUILD_DISPLAY_NAME' already exists, current value: '#16007-origin/develop-2eb8fcb', new value: '#16007-origin/develop-2eb8fcb'
我不明白为什么会发生这种错误。我想消除它。现在jenkins作业向我显示了假错误(不是测试状态的结果)

编辑。 我注意到,当我自己在工作区目录中执行最后一个git fetch命令时,它会依次返回两个不同的结果(我不确定是否与上述错误有关):


您的Jenkins构建命令是什么???它是一个shell命令:
/usr/local/bin/prove-j3--lib--timer--nocount--formatter=TAP::formatter::JUnit$WORKSPACE/t>$WORKSPACE/build/testreports/Jenkins-${JOB_NAME}-JUnit.xml
,但我认为错误在构建阶段之前,而是在scm操作期间。这与中描述的问题相同(未解决)。我删除了整个工作区并再次克隆了git项目。所以现在新的构建是可以的。但这是一个很好的解决办法。
bash-4.1$ git fetch --tags --progress gitlab@gitlab:group/project.git +refs/heads/*:refs/remotes/origin/* --prune
From gitlab:group/project
 + c3a0c12...2eb8fcb HEAD       -> origin/HEAD  (forced update)
bash-4.1$ git fetch --tags --progress gitlab@gitlab:group/project.git +refs/heads/*:refs/remotes/origin/* --prune
From gitlab:group/project
   2eb8fcb..c3a0c12  develop    -> origin/develop
bash-4.1$ git fetch --tags --progress gitlab@gitlab:group/project.git +refs/heads/*:refs/remotes/origin/* --prune
From gitlab:group/project
 + c3a0c12...2eb8fcb HEAD       -> origin/HEAD  (forced update)
bash-4.1$ git fetch --tags --progress gitlab@gitlab:group/project.git +refs/heads/*:refs/remotes/origin/* --prune
From gitlab:group/project
   2eb8fcb..c3a0c12  develop    -> origin/develop