我正在使用带有Ubuntu 14.04.5 Trusty Tahr(32位架构)的Banana Pi 1。我喜欢使用Banana Pi作为我的私有GitLab服务器。我成功安装了gitlab-omnibus 7.9。请参阅以下系统信息:
System information
System:
Current User: git
Using RVM: no
Ruby Version: 2.1.5p273
Gem Version: 2.2.1
Bundler Version:1.5.3
Rake Version: 10.4.2
Sidekiq Version:3.3.0
GitLab information
Version: 7.9.0
Revision: 16d6f0e
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: postgresql
URL: http://192.168.0.115
HTTP Clone URL: http://192.168.0.115/some-project.git
SSH Clone URL: git@192.168.0.115:some-project.git
Using LDAP: no
Using Omniauth: no
GitLab Shell
Version: 2.6.0
Repositories: /media/Seagate Expansion Dr/Projekte/GitLab/git-data/repositories
Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks/
Git: /opt/gitlab/embedded/bin/git
提交和推送在ssh上工作正常,但目前git数据存储在Banana Pi的SD卡上(也安装了ubuntu)。我连接外部硬盘驱动器,当我通过ssh登录时,我也可以访问此驱动器。现在我希望gitlab将git数据存储在这个外部硬盘驱动器上(名称:Seagate Expansion Dr)。我按照指南进行了操作 gitlab README.md。以下是:
我在香蕉pi的默认位置同步了存储库
/var/opt/gitlab/git-data/
到新位置/media/Seagate\ Expansion\ Dr/Projekte/GitLab/git-data
(有关详细说明,请参阅
gitlab README.md)
我在/etc/gitlab/gitlab.rb中添加了以下行:
git_data_dir "/media/Seagate\ Expansion\ Dr/Projekte/GitLab/git-data"
重新配置并重新启动gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
但是现在当我试图通过我的Windows桌面PC上的存储库将一些东西推送到香蕉皮时:
git push -u origin master
我收到以下错误:
fatal: protocol error: bad line length character: No s
我做了一些研究并认为错误与权限有关,所以我给了所有者,小组和其他人写入,重新执行和执行测试的权限,但错误仍然存在。
如果有人可以帮助我,我会很高兴。如果需要任何进一步的信息,请立即向我询问。祝你好运, 布雷德霍:)
答案 0 :(得分:1)
最后它有效:) :) :)
推送时遇到的错误意味着No such project
(来源:Git push results in fatal: protocol error: bad line length character: This)。所以GitLab不知道或找不到该项目。
我的日志文件实际上并不是空的我没看好(参见上面的评论)。 @secustor感谢您提供日志的提示。 /var/log/gitlab/gitlab-shell/gitlab-shell.log
中的错误说明如下:
W, [2017-07-30T19:20:41.433749 #21264] WARN -- : gitlab-shell: Access denied for git command <git-receive-pack 'Richard/Survival_Indie_Development.git'> by user with key key-6.
在我的研究过程中,我发现这个论坛条目描述了我遇到的同样问题:https://github.com/gitlabhq/gitlabhq/issues/4730。我很早就找到了这个链接,但在那个时候我遇到了其他问题。
要解决这个问题,我必须编辑gitlab-shell配置文件:/var/opt/gitlab/gitlab-shell/config.yml
。我将Banana PI IP地址和端口填入以下行:gitlab_url: "192.168.0.115:80"
和host: 192.168.0.115
。在此之后我执行了:
sudo gitlab-ctl reconfigure
和
sudo gitlab-ctl restart
etvoilà它有效:)。为了测试我在默认的gitlab目录中删除了以前的repos,它仍然有效。现在我的git数据存储在外部硬盘上:)。