CentOS6.9(minimal) にGitlabをインストール
Gitを利用するに当たり、GitHubやBitbucketなどのGitリポジトリホスティングサービスを利用しているユーザーは多い。しかし、GitHubなどのサービスではプライベートなコード管理サービスが有料であることや、機密性があるソースなどを外部のdbに保存することとなるのでデータ流出などのリスクが発生する。
そこで、自分の管理するサーバー上でGitHubのようなリポジトリ管理ツールを運用できる「GitLab」をCentOS上に導入した。
GitLabはとても簡単に導入できる。
下記はUbuntuでの導入方法を公式が解説している動画である。
www.youtube.com
今回はGitLabがWEBブラウザ上で確認できる管理コンソールを備えていることからGUIベースではなくCUIベースにて導入を行った。また、CUIベースで事足りるのでCentOSを使用してみた。
- まずは開発パッケージをインストール
yum install -y openssl-devel readline-devel zlib-devel gcc yum install –y wget yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
- GitLabをインストール
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce sudo gitlab-ctl reconfigure
また、コンフィグの以下の部分を設定する
#レポジトリーのURLをホストIPに設定する #external_url 'http://gitlab.example.com' external_url 'http://My-PC-Address' (My-PC-Addressは自分のIP) #nginxのアップロードサイズを512mまでできるようにする nginx['client_max_body_size'] = '512m' #gitlab-ctl reconfigure
と入力して設定を反映させる
- gitlabのバックアップ設定(1日単位でバックアップ)
バックアップを行うコマンドを以下の通り
sudo gitlab-rake gitlab:backup:create #コマンドにてバックアップする
バックアップディレクトリのパスを設定していなければ、デフォルトのバックアップパス/var/opt/gitlab/backupsにバックアップファイルが作成される。
(Unixタイムスタンプ)_gitlab_backup.tar
次にバックアップを保持する期間を設定します(単位は秒)
以下の部分を編集
#vi /etc/gitlab/gitlab.rb
###! The duration in seconds to keep backups before they are allowed to be deleted
gitlab_rails['backup_keep_time'] = 86400
編集後、GitLabの再設定を行う。
#sudo gitlab-ctl reconfigure
このバックアップの動作を定期的に行う為にcrontabを設定
#crontab -e 0 3 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
Cron=1を入力するとログを表示しない(コンソールに表示させない)