gitlabインストール、構成
gitlabインストール、構成
エンタープライズクラスのプライベートgit倉庫ではgitlabが良い選択です.
今日はgitlab
のインストール、構成についてお話しします.
システム構成の推奨事項:最低デュアルコア4 Gメモリ.
現在、gitlab
バージョン:11.5.3
です.
1.説明
公式のインストールチュートリアルに基づいてubuntu環境のコミュニティ版を選択してインストールします.https://about.gitlab.com/install/#ubuntu?version=ce.
その他の環境(CentOS
、docker
など)またはエンタープライズ版が必要な場合は、ここを参照してください.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
サーバと80
と8080
の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ライセンス)
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix
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
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;
}
}
service nginx reload
# or
service nginx restart
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
unicorn['port'] = 8081 #
gitlab-ctl reconfigure
gitlab-ctl restart
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
/var/log/gitlab/ #
/var/opt/gitlab/ #
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
cd /opt/gitlab/embedded/service/gitlab-rails
npm install
gitlab-ctl restart #