14

3つの問題はすべて同じ問題に関連していると思うので、ここにすべて入れます。

Gitlab 自体は動作しており、8.2.2 から 8.2.3 に更新することさえできました。プロジェクトを作成したり、コードをプッシュしたり、プルしたり、適切な ssh キーがあれば再クローンしたりできます。

しかし:

  1. コードを zip ファイルとしてダウンロードできません。代わりに JSON を取得しました。

{"RepoPath":"/var/opt/gitlab/git-data/repositories/me/myrepo.git", "ArchivePrefix": "...

  1. 人々は私の公開リポジトリを複製できません (空のリポジトリ エラー)。

  2. CI がテストをビルドできません:

警告: 空のリポジトリを複製しました。12345 を開発中にチェックアウトしています... 致命的: 参照はツリーではありません: 123456789mycommithash987654321

エラー: ビルドに失敗しました: 終了ステータス 1

NB: フランス語のエラー メッセージを翻訳しました。

問題は私のNginx構成にあると思いますが、ドキュメントが多すぎてどれが良いものかわからない:主力のもの、gitlab.rbのgitlab_git_http_serverを変更しなければならないものなど.

私の構成は次のとおりです。

  • ギットラボ 8.2.3
  • Ubuntu トラスティ (14.04)
  • ニンクス 1.8

私のgitlabはSLLを使用してサブドメインでホストされているため、Nginxプロキシを追加しました

/etc/gitlab/gitlab.rb :

external_url 'https://gitlab.mydomain.com'
nginx['listen_addresses'] = ['127.0.0.1', "[::1]"]
nginx['listen_port'] = 8080 
nginx['listen_https'] = false 

/etc/nginx/site_enabled/gitlab :

server {
  listen *:80 default_server;
  listen [::]:80 ipv6only=on default_server;
  server_name gitlab.mydomain.com;
  return 301 https://$server_name$request_uri;

  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;
}

server{
  # listen 443 ssl;
  listen 0.0.0.0:443 ssl default_server;
  listen [::]:443 ipv6only=on ssl default_server; 
  server_name gitlab.mydomain.com;
  server_tokens off;

  location /{
    proxy_pass http://localhost:8080;
    proxy_redirect off;
    proxy_set_header    Host                $http_host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   $scheme;
  }

  location ~ ^/(assets)/ {
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    gzip_static on; # to serve pre-gzipped version
    expires max;
    add_header Cache-Control public;
  }

  client_max_body_size 250m;

  # ...
  # A lot a of SSL stuff (HSTS, OCSP, dhparam, etc)
  # ...

  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;
  
  error_page 502 /502.html;

アップデート :

Gilab を 8.3.0 にアップグレードしました。

今すぐ 502 を Git してください。

適用: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/8.2-to-8.3.md

見てみましょう。

更新 2:

結局、指示を完了せず、すべてを停止してすべてを 2 回再起動しました (Gitlab と Nginx)。

CI/Zip/PublicCloning での同じ問題は依然として厳しいです。

更新 3:

8.2.3にアップデートするだけ apt-get update apt-get install gitlab-ce

502。

nginx を再起動します gitlab-ctl を再起動します

gitlab-rake gitlab:app:check

Checking GitLab ...

Git configured with autocrlf=input? ... yes
Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory setup correctly? ... yes
Init script exists? ... skipped (omnibus-gitlab has no init script)
Init script up-to-date? ... skipped (omnibus-gitlab has no init script)
projects have namespace: ... 

Redis version >= 2.8.0? ... yes
Ruby version >= 2.1.0 ? ... yes (2.1.7)
Your git bin path is "/opt/gitlab/embedded/bin/git"
Git version >= 1.7.10 ? ... yes (2.6.1)
Active users: 2

Checking GitLab ... Finished

誰かが私を適切なドキュメントや変更に導くことができれば、それは素晴らしいことです.

4

4 に答える 4

2

ZIP ファイルのダウンロードが gitlab-workhorse によって処理されるようになりました。

そのために、nginx-configfile に追加のものがいくつかあります。セクションがあるhttps://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/gitlabをご覧ください。

upstream gitlab-workhorse {
  server unix:/home/git/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
}

そして

proxy_pass http://gitlab-workhorse;

構成の最後に。

私は現在同じ問題を掘り下げており、解決したら報告します。

于 2016-01-05T14:43:56.073 に答える
1

https://gist.github.com/sameersbn/becd1c976c3dc4866ef8を見てください。オフにできるオプション「gzip」があるようです。

gzip                    off;

53行目。

于 2015-12-27T13:53:57.390 に答える
1

更新ドキュメントに項目がありません: nginx 構成でに名前が変更gitlab-git-http-serverされますが、部分的に がありません。のすべての出現箇所、特に のソケットも同様に置き換えます。gitlab-workhorse/etc/default/gitlabgitlab-git-http-servergitlab-workhorsegitlab_workhorse_options

何かのようなもの

sed -i -e 's/gitlab-git-http-server/gitlab-workhorse/g' /etc/default/gitlab
于 2016-01-08T17:32:43.003 に答える
1

すべてではありません:

Gitlab の nginx に 8080 ポートをリッスンさせてしまいました。すでに Gitlab の Unicorn で使用されているポートである場合。

8081 に変更すると、CI の応答が向上しました。まだgitユーザー権限を解決する必要があります(または、dockerを使用することをお勧めします)が、それはここで重要なことの直接的な問題ではありません...

更新: 完全なソリューション - ACL

インストールプロセス中に作成された git および gitlab-runner ユーザーには十分な権限があるようです。

最初に: それぞれの本当のホームを作成します: /home/gitlab-runner/home/gitに適切な ssh authorized_keys を指定し、rbenv + ruby​​ をインストールします。

次にvim /etc/passwd、完全な権限を持つ新しいホームのホーム ディレクトリに移動します。今私のビルドは緑色です!

于 2016-01-11T10:28:31.210 に答える