1

我正在使用带有 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中的指南进行操作。以下内容也是如此:

  1. 我将默认位置的香蕉派上的存储库同步 /var/opt/gitlab/git-data/到新位置/media/Seagate\ Expansion\ Dr/Projekte/GitLab/git-data(有关更详细的描述,请参见 gitlab README.md

  2. 我在 /etc/gitlab/gitlab.rb 中添加了以下行:

    git_data_dir "/media/Seagate\ Expansion\ Dr/Projekte/GitLab/git-data"
    
  3. 重新配置并重新启动 gitlab

    gitlab-ctl reconfigure
    gitlab-ctl restart
    

但是现在,当我尝试通过以下方式将 Windows 桌面 PC 上的存储库中的某些内容推送到 Banana Pi 时:

git push -u origin master

我收到以下错误:

fatal: protocol error: bad line length character: No s

我做了一些研究,并认为该错误与权限有关,因此我授予所有者、组和其他人对测试的写入、读取和执行权限,但错误仍然存​​在。

如果有人可以帮助我,我会很高兴。如果需要任何进一步的信息,请立即询问我。

最好的问候,布雷乔 :)

4

1 回答 1

1

最后它起作用了:) :) :)

  1. 我在推送时遇到的错误意味着No such project(来源:Git push results in fatal: protocol error: bad line length character: This)。所以 GitLab 不知道或找不到该项目。

  2. 我的日志文件实际上并不是空的,我没有正确查看(请参阅上面的评论)。@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

等等,它的工作原理:)。为了测试,我删除了默认 gitlab 目录中的先前存储库,它仍然有效。现在我的 git 数据存储在外部硬盘上:)。

于 2017-07-30T12:59:24.307 回答