7

GitLab をインストールしましたが、問題ないようです。実行してアプリケーションのステータスを再確認するまで: sudo -u git -H editor /home/git/gitlab-shell/config.yml. この項目は赤色で、エラーがあるようです:

  gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u git -H editor /home/git/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

開いconfig.ymlてみますが、異常はないようです。私に何が欠けていると思いますか?

また、カスタム SSH 接続があります。この説明から私が理解できないこと:

Custom SSH Connection

If you are running SSH on a non-standard port, you must change the gitlab user's SSH config.

# Add to /home/git/.ssh/config
host localhost          # Give your setup a name (here: override localhost)
    user git            # Your remote git user
    port 2222           # Your port number
    hostname 127.0.0.1; # Your server name or IP
You also need to change the corresponding options (e.g. ssh_user, ssh_host, admin_uri) in the config\gitlab.yml file.

紛失したため、これを持っていません。/home/git/.ssh/config作成する必要がありますか、それとも何か不足していますか?

私のコールスタック:

Checking Environment ...

Git configured for git user? ... yes
Has python2? ... yes
python2 is supported version? ... yes

Checking Environment ... Finished

Checking GitLab Shell ...

GitLab Shell version >= 1.7.4 ? ... OK (1.7.6)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
update hook up-to-date? ... yes
update hooks in repos are links: ... can't check, you have no projects
Running /home/git/gitlab-shell/bin/check
Check GitLab API access: /usr/local/lib/ruby/2.0.0/net/http.rb:878:in `initialize': getaddrinfo: Name or service not known (SocketError)
        from /usr/local/lib/ruby/2.0.0/net/http.rb:878:in `open'
        from /usr/local/lib/ruby/2.0.0/net/http.rb:878:in `block in connect'
        from /usr/local/lib/ruby/2.0.0/timeout.rb:52:in `timeout'
        from /usr/local/lib/ruby/2.0.0/net/http.rb:877:in `connect'
        from /usr/local/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
        from /usr/local/lib/ruby/2.0.0/net/http.rb:851:in `start'
        from /home/git/gitlab-shell/lib/gitlab_net.rb:62:in `get'
        from /home/git/gitlab-shell/lib/gitlab_net.rb:29:in `check'
        from /home/git/gitlab-shell/bin/check:11:in `<main>'
gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u git -H editor /home/git/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes
Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking GitLab ...

Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... yes
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Init script exists? ... yes
Init script up-to-date? ... yes
projects have namespace: ... can't check, you have no projects
Projects have satellites? ... can't check, you have no projects
Redis version >= 2.0.0? ... yes
Your git bin path is "/usr/local/bin/git"
Git version >= 1.7.10 ? ... yes (1.8.4)

Checking GitLab ... Finished
4

4 に答える 4

12

問題 5437に似ている可能性があります。

debian wheezy 7.2 サーバーでクリーン インストールを行っているときに、まったく同じ問題に遭遇しました。

2 つの変更を加えて、サーバーを再起動しました (これは単なるテストサーバーなので問題ありません)。

  • ドメインが指していることを確認してください127.0.0.1/etc/hosts私のサーバーでは、それが指していました127.0.1.1
  • /home/git/.ssh/configインストール手順に記載されているように、非標準の ssh ポートを追加します。

その場合、ドメインを に設定する127.0.0.1だけ/etc/hostsで十分でした。

他の問題の可能性:問題 5426 : 間違ったサイドキック コマンド

sidekiq を開始するこの方法は、もう機能しません。以下を使用する必要があります。

sudo -u git -H RAILS_ENV=production script/background_jobs start

http.rb:xxx:ininitialize': getaddrinfo: Name or service not known (SocketError)` エラー メッセージが次の場所に表示されます。

  • 問題 5151 =>このコメントで解決:

    sudo -u git -H vim /home/git/gitlab-shell/config.yml
    # and change:
    gitlab_url: http://yourhost to gitlab_url: http://yourhost/
    # Slash at the end is important.
    
  • gitlab-shell の第 42 号: 繰り返しますが、正しく理解/etc/hostsすることが重要です。


OP Leandro Garciaコメントで確認します:

で提供したドメインを設定するのを忘れましたgitlab_url
それを追加してドメインプロバイダーのDNSを修正すると、問題が解決します

于 2013-11-08T12:36:55.907 に答える
0

私に似たようなもので、Omnibus Gitlab のインストールはすべて正常に機能していました。さまざまな GIT の更新とプッシュとプルを実行できました。

しかし、サーバーのホストとドメイン名の構成を変更していたところ、gitlab が適切に応答せず、上記と同じ種類のエラーが発生しました。実際のホスト名は変更されていませんが、そのホスト名がLAN 内/etc/hostsおよび LAN 上でどのように表現されているかは変わりませんでした。ローカル~/.git/configファイルでgitlabサーバーの場所をIPアドレスに設定するだけで、このような問題を回避できると思いましたが、それだけでは十分ではありませんでした。Gitlab 独自の NGINX 構成ファイルのローカル ホスト名の表現が、マシンによって理解されることを確認する必要がありました。

標準の Omnibus Gitlab デプロイメントでは、nginx 構成ファイルは次の場所/var/opt/gitlab/nginx/etc/gitlab-http.confにありますserver

server { listen *:80; server_name hostname.on.your.domain;

簡単なテストは次のとおりです。gitlab-http.conf ファイルで構成されているホスト名は ping 可能ですか?

ping hostname.on.your.domain

そうでない場合は、/etc/hosts とネットワーク構成を 2 回、3 回確認してください。

于 2014-06-18T06:10:38.250 に答える
0

Had similar problem. I had wrong address in my gitlab-shell. 127.0.0.1:3000 was wrong, because I had to put the same address as I used via web (nginx proxy) for example gitlab.com.

于 2015-05-07T21:18:44.723 に答える
0

私は 7.2.2 にアップグレードしたばかりで、Ubuntu 14.04 LTS でこの問題に遭遇しましたが、これまで Ruby コードを見たことがありませんでした。

gitlab-shell/lib/gitlab_config.rb の 54 行目あたりを見ると、redis['bin'] の定義が空であるため、gitlab-shell/bin/check のテストが失敗することがわかります。

それを機能させるための簡単なハックとして、次のように変更しました。

# Build redis command to write update event in gitlab queue def redis_command if redis.empty? # Default to old method of connecting to redis # for users that haven't updated their configuration %W(env -i redis-cli) else if redis.has_key?("socket") %W(#{redis['bin']} -s #{redis['socket']}) else %W(#{redis['bin']} -h #{redis['host']} -p #{redis['port']}) end end end # Build redis command to write update event in gitlab queue def redis_command # Default to old method of connecting to redis # for users that haven't updated their configuration %W(env -i redis-cli) end

于 2014-09-20T16:05:01.010 に答える