4

これらの手順を使用して、Gitlab で Virtualbox をセットアップできました --> https://github.com/gitlabhq/gitlabhq/wiki/VirtualBox-Image。Web インターフェイスは問題なく動作し、ホストの公開鍵を追加して「テスト」プロジェクトを作成しました。ただし、テスト ディレクトリを作成して「git init」を実行した後、git@33.33.33.10 のパスワードを要求されるため、テスト リポジトリにプッシュできません。キーを追加したところ、Web インターフェースは問題なく動作します。何が間違っている可能性がありますか?

$ git remote add test git@33.33.33.10:test.git
$ git push -u test master
git@33.33.33.10's password: ...

これも同じ結果で試しました(2222 VM側は22ホスト側に等しい):

git remote add test ssh://git@localhost:2222/test.git
git push -u test master
git@localhost's password:...

パスワードを要求しないでください。また、「vagrant」ユーザーを VM の「git」グループに追加しました。

VM で、以下の期待される結果を正しく受け取ることができることを確認しました。

vagrant@lucid32:~$ ssh -T git@localhost
hello rails, this is gitolite v2.2-11-g8c4d1aa running on git 1.7.0.4
the gitolite config gives you the following access:
     R   W  gitolite-admin
    @R_ @W_ testing

ここに私のVagrantFileがあります:

Vagrant::Config.run do |config|
config.vm.box = "gitlab"
config.vm.network :hostonly, "33.33.33.10"
end

これは、virtualbox へのリモート git プッシュと関係があります。助けてくれてありがとう!

4

4 に答える 4

1

vagrant マシンを起動して実行するには、いくつかの深刻な問題がありました。1 つは、コードが期待するのと同じデフォルトを使用しないことです (#1 を参照)。rvm を使用します (#3 を参照)

  1. vagrant VM は、ユーザーとして「git」ではなく「vagrant」を使用することを決定します。
    したがって、リポジトリの URL は実際には次のようになります:
    ssh:// vagrant @localhost:2222/test.git

  2. ~/.ssh/config (chmod 600):
    Host *
    User
    vagrant IdentityFile ~/.ssh/id_rsa` を追加しました

  3. これを過ぎると、rvm を使用する vagrant を使用しているため、おそらく「/usr/bin/env ruby​​ could not find file」というエラーが表示されます。
    私はこれらの2つのことをしなければなりませんでした:

于 2013-07-10T12:58:49.157 に答える
0

キーが仮想マシンに送信されていないようです。ユーザーの.sshディレクトリに正しいid_rsaファイルとid_rsa.pubファイルがあることを確認できますか。Windowsでvagrantを実行している場合、これは非常に問題になる可能性があります(http://vagrantup.com/docs/getting-started/ssh.html

これがお役に立てば幸いです。

于 2012-04-07T23:09:38.257 に答える
0

仮想マシンではなく gitlabhq_install スクリプトを使用してまったく新しいインストールを行ったところ、元の同じ問題が発生しました。プロジェクトを作成し、Web インターフェイス経由でキーを追加することはできましたが、テスト リポジトリにまったくプッシュできませんでした。そこで、「ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host」を実行してユーザー (gitlabhq ユーザーではない) 公開 ssh キーを追加し、ssh を再起動しました。それでも同じ問題が発生したため、「sudo vim /home/git/.ssh/authorized_keys」を実行し、上記のコマンドで追加したキーを「#gitolite start/end」タグの間に手動でコピーしました。sshをリセットした後、ようやくプッシュできました...今でも頭を悩ませていますが、少なくともうまくいくと思います。

于 2012-04-09T19:59:13.900 に答える
0

私はgitlab.comにプッシュしようとしていたときに同じ問題を抱えていました:

git push gitlab mybranch

次のvagrantコードでプッシュが発生しました

  config.vm.provision :shell, :name => "pushing to remote", :keep_color => true, :privileged => false, :inline => <<-SHELL
        ---snip---
        git push gitlab mybranch
        ---snip---
  SHELL

次のエラーが発生しました:

==> default: GitLab: The project you were looking for could not be found.
==> default: fatal: Could not read from remote repository.
==> default:
==> default: Please make sure you have the correct access rights
==> default: and the repository exists.

私の解決策は、vagrant によって実行されるべきコードをシェル スクリプトに入れ、これを特権シェルでラップして呼び出すことでした。su

  config.vm.provision :shell, :name => "Workaround to run update-repo.sh as vagrant user", :keep_color => true, :privileged => true, :inline => <<-SHELL
    su - vagrant -c /home/vagrant/bin/push.sh
  SHELL
于 2016-10-07T13:11:45.040 に答える