推送到外置硬盘上的目录时,关于Banana Pi的GitLab-omnibus 7.9错误

时间:2017-07-23 12:43:22

标签: git gitlab gitlab-omnibus gitlab-7

我正在使用带有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. 我在香蕉pi的默认位置同步了存储库 /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
    
  4. 但是现在当我试图通过我的Windows桌面PC上的存储库将一些东西推送到香蕉皮时:

    git push -u origin master
    

    我收到以下错误:

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

    我做了一些研究并认为错误与权限有关,所以我给了所有者,小组和其他人写入,重新执行和执行测试的权限,但错误仍然存​​在。

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

    祝你好运, 布雷德霍:)

1 个答案:

答案 0 :(得分: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.
    
  3. 在我的研究过程中,我发现这个论坛条目描述了我遇到的同样问题: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数据存储在外部硬盘上:)。