gitlabインストール、構成


gitlabインストール、構成


エンタープライズクラスのプライベートgit倉庫ではgitlabが良い選択です.
今日はgitlabのインストール、構成についてお話しします.
システム構成の推奨事項:最低デュアルコア4 Gメモリ.
現在、gitlabバージョン:11.5.3です.

1.説明


公式のインストールチュートリアルに基づいてubuntu環境のコミュニティ版を選択してインストールします.https://about.gitlab.com/install/#ubuntu?version=ce.
その他の環境(CentOSdockerなど)またはエンタープライズ版が必要な場合は、ここを参照してください.https://about.gitlab.com/install/.
注:コミュニティ版は無料で、企業版は有料です.

2.インストール、構成に必要な依存関係

sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix

3.インストールパッケージのアドレスを追加し、インストールする

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce

ここではhttp://gitlab.example.comを自分の本当の対外サービスのgitlab urlアドレスに変更する必要があります(インストール後にプロファイルで変更することもできます).
ここまでは、gitlabが取り付けられています.

4.インストール後

gitlabデフォルトでは、内蔵のnginxサーバと808080の2つのポートを使用して、個別のホストにインストールすることを推奨します.gitlabのデフォルトの推奨に従って、単独のホストを使用してipアドレスhttp://ipに直接アクセスするか、ドメイン名をこのマシンに解析した後、ドメイン名http://gitlab.your.comに直接アクセスし、手順に従ってwebページでgitlabを初期化すればいいです.
しかし、多くの場合、gitlabは1台の個別のサーバに配備されるのではなく、他の多くのサービス(例えばjenkins)のように同じサーバに配備され、nginxの逆エージェントが使用される.

5.nginx逆プロキシ構成

nginxの構成を追加します.
upstream gitlab-workhorse {
    server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}

server {
  listen 0.0.0.0:80;
  listen [::]:80;
  server_name gitlab.your.com;
  server_tokens off;
  root /opt/gitlab/embedded/service/gitlab-rails/public;

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

  location / {
    client_max_body_size 0;
    gzip off;

    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;
    proxy_http_version 1.1;
    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;
    proxy_pass http://gitlab-workhorse;
  }
}

より詳細な構成については、NGINX settings|GitLabを参照してください.nginx構成の再ロード:
service nginx reload
# or
service nginx restart
gitlabの構成を変更します.
vi /etc/gitlab/gitlab.rb

external_url 'http://gitlab.your.com'            #          gitlab url
web_server['external_users'] = ['www-data']      #      webserver   
nginx['enable'] = false                          #        nginx
sudo usermod -aG gitlab-www www-data             #   www-data       gitlab-www   
gitlabサービスでは、8080ポートがデフォルトで使用されています.8080ポートが他のプログラム(tomcatなど)によって占有されている場合は、他のポートに変更する必要があります.
unicorn['port'] = 8081                           #            
gitlabの構成を更新し、サービスを再起動します.
gitlab-ctl reconfigure
gitlab-ctl restart
http://gitlab.your.comにアクセスし、手順に従ってwebページでgitlabを初期化すればいいです.

6.共通コマンド

gitlab-ctl start                                 #    gitlab
gitlab-ctl stop                                  #    gitlab
gitlab-ctl restart                               #    gitlab
gitlab-ctl status                                #       
vi /etc/gitlab/gitlab.rb                         #       
gitlab-ctl reconfigure                           #      gitlab   
gitlab-rake gitlab:check SANITIZE=true --trace   #    gitlab
gitlab-ctl tail                                  #     
gitlab-ctl tail nginx/gitlab_access.log

7.ホームディレクトリ

/var/log/gitlab/                                 #      
/var/opt/gitlab/                                 #      

8.バージョンの表示

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

9.発生する可能性のある問題


9.1 File to import not found or unreadable


解決:npmインストールが必要
cd /opt/gitlab/embedded/service/gitlab-rails
npm install
gitlab-ctl restart                               #     

に続く


その他のブログhttps://github.com/senntyou/blogs
作者:深予之(@senntyou)
自由転載-非商用-非派生-署名保持(クリエイティブ共有3.0ライセンス)