推送到外部硬盘驱动器上的目录时,Banana Pi 上的 GitLab-omnibus 7.9 出错
GitLab-omnibus 7.9 on Banana Pi error when pushing to directory on external hard drive
我正在使用带有 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。以下也是:
我把香蕉派上的仓库同步到了默认位置
/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"
重新配置并重新启动 git实验室
gitlab-ctl reconfigure
gitlab-ctl restart
但是现在,当我尝试通过以下方式将我的 Windows 台式电脑上的存储库中的内容推送到 Banana Pi 时:
git push -u origin master
我收到以下错误:
fatal: protocol error: bad line length character: No s
我做了一些研究,认为错误与权限有关,所以我给所有者、组和其他人写、读和执行的权限进行测试,但错误仍然存在。
如果有人能帮助我,我会很高兴。如果需要任何进一步的信息,请立即联系我。
此致,
布雷乔 :)
终于成功了:) :) :)
我推送时遇到的错误意思是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。我很早就发现了这个 link,但在那个时候我遇到了其他问题。
为了解决这个问题,我不得不编辑 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 数据存储在外部硬盘上 :)。
我正在使用带有 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。以下也是:
我把香蕉派上的仓库同步到了默认位置
/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"
重新配置并重新启动 git实验室
gitlab-ctl reconfigure gitlab-ctl restart
但是现在,当我尝试通过以下方式将我的 Windows 台式电脑上的存储库中的内容推送到 Banana Pi 时:
git push -u origin master
我收到以下错误:
fatal: protocol error: bad line length character: No s
我做了一些研究,认为错误与权限有关,所以我给所有者、组和其他人写、读和执行的权限进行测试,但错误仍然存在。
如果有人能帮助我,我会很高兴。如果需要任何进一步的信息,请立即联系我。
此致, 布雷乔 :)
终于成功了:) :) :)
我推送时遇到的错误意思是
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。我很早就发现了这个 link,但在那个时候我遇到了其他问题。
为了解决这个问题,我不得不编辑 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 数据存储在外部硬盘上 :)。