2

我已将 Gitlab 更新到 8.0 版本。还将 CI 集成到 Gitlab 中。但是现在当 CI 运行器尝试获取 git 存储库时,它会得到空存储库。已弃用的跑步者(我以前使用过)和新的跑步者都发生了错误gitlab-ci-multi-runner

我有错误

gitlab-ci-multi-runner 0.5.5-1-g69bc934 (69bc934)
Using Shell executor...
Running on my_server...

Fetching changes...
Checking out 9f6188d0 as super_branch...
fatal: reference is not a tree: 9f6188d0e197e0a010257d3a961c95b5a4abe504

ERROR: Build failed with: exit status 128

两个版本的错误相同。

我检查了什么是 git 远程路径。当我试图将它克隆到我的电脑时,我收到警告说这个存储库是空的,它只创建了.git目录。

4

1 回答 1

3

//更新

搞定了^^

失败是由 nginx/apache 和新的 'gitlab-git-http-server' 引起的。以下是我在增量更新中找到的链接: https ://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/7.14-to-8.0.md#new-nginx-configuration

正如那里所说,

如果你跳过这一步,'git clone' 和'git push' over HTTP(S) 将停止工作。

基本上,您的跑步者目前正在与独角兽交谈,而它应该从“gitlab-git-http-server”请求回购。


例如,我使用的是 apache 2.4 并且不得不更改站点可用的 gitlab 文件:

从:

RewriteEngine on
  #forward all requests to GitLab Rails app (Unicorn) 
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]

至:

RewriteEngine on
  #forward request ending with .git to gitlab-git-http-server
  RewriteCond %{REQUEST_URI} .*\.(git)
  RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA]

  #forward any other requests to GitLab Rails app (Unicorn) 
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]

请记住正确重新加载您的网络服务器以使用您的更改。


//老的

因为我遇到了同样的问题:使用“gitlab-runner”用户(在其特定的构建目录中)克隆存储库并最终重新开始 ci 导致(可能)成功构建。

但这不过是一种解决方法。清理构建目录或切换分支后,它将再次崩溃

于 2015-09-29T11:45:17.620 回答