我已将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远程路径。当我尝试将其克隆到我的PC时,我收到警告,该存储库为空,只创建了.git
目录。
答案 0 :(得分: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”和HTTP(S)上的“git push”将停止工作。
基本上你的跑步者正在与独角兽交谈,而它应该从'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]
请记住正确地重新加载您的网络服务器,以便利用您的更改。
<强> // OLD 强>
因为我遇到了同样的问题: 使用'gitlab-runner'用户(在其特定的build-dir中)克隆repo并最终从ci开始导致(可能)成功构建。
但这只不过是一种解决方法。 只要清理构建目录或切换分支,它就会再次崩溃