男にはGitLabインストールを苦行して入れなくてはならない時があるを書いてから1年以上経って、
インストールするモジュールとかちょっと変わったので、現時点の最新版の苦行セットアップの方法を書こうと思う。
ちょうどconohaのubuntu16.04も出たことだし、それで!
続・GitLabの苦行セットアップの方法
準備
ユーザの作成とsudo権限の付与
# gitユーザの作成
sudo adduser git
# sudo権限の付与
sudo gpasswd -a git sudo
ユーザの切り替え
sudo su - git
必要なパッケージのインストール
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libssl-dev
sudo apt-get install libicu-dev
sudo apt-get install pkg-config
sudo apt-get install libkrb5-dev
sudo apt-get install libreadline-dev
sudo apt-get install libmysqlclient-dev
sudo apt-get install logrotate postfix
# シンボリックリンクを貼る
sudo ln -s /usr/bin/make /usr/bin/gmake
gitのインストール
gitは2.7.4が入っていたけど、最新使いたいよって人だけ、以下を実施する。
sudo apt-get install -y python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
git --version
redisのインストール
# リポジトリの追加と更新
sudo add-apt-repository ppa:chris-lea/redis-server
# インストール可能バージョンの確認
sudo apt-get update
# バージョンを指定してインストール
sudo apt-cache showpkg redis-server
sudo apt-get install redis-server=3:3.0.7-1chl1~xenial1
# バージョンの確認
redis-server -v
Rubyのインストール
rbenvをインストール
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l
ruby-buildをインストール
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Rubyをインストール
rbenv install -v 2.3.1
rbenv global 2.3.1
bundlerのインストール
# bundlerのインストール
gem install bundler
MariaDBのインストール
DBのインストール
sudo apt-get install mariadb-server
DBのセットアップ
mysql -u root -p
CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'パスワード';
CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
\q
# 接続確認
mysql -u gitlab -p -D gitlabhq_production
gitlab-workhorseのインストール
Golangのインストール
sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang
gitlab-workhorseのインストール
使用するバージョンはGITLAB_WORKHORSE_VERSIONを確認する。
cd ~/
git clone https://gitlab.com/gitlab-org/gitlab-workhorse.git
cd gitlab-workhorse/
git checkout -b v0.7.8
make
gitlab-shellのインストール
使用するバージョンはGITLAB_SHELL_VERSIONを確認する。
cd ~/
git clone https://gitlab.com/gitlab-org/gitlab-shell.git
cd gitlab-shell
git checkout v3.2.1
cp config.yml.example config.yml
# config.ymlを自身の設定に合わせて変更する
GitLab本体のインストール
リポジトリディレクトリの作成
cd ~/
mkdir repositories
本体のclone
cd ~/
git clone https://gitlab.com/gitlab-org/gitlab-ce.git gitlab
cd gitlab
8-10-stable
設定
cd config
cp database.yml.mysql database.yml
# 自身のDB設定に合わせて変更する
vim database.yml
cp gitlab.yml.example gitlab.yml
# 自身の環境に合わせて本体の設定をする
vim gitlab.yml
cp resque.yml.example resque.yml
# 自身のredisの設定に合わせて変更する
vim resque.yml
cp secrets.yml.example secrets.yml
cp unicorn.rb.example unicorn.rb
# 必要に合わせて変更する
vim unicorn.rb
cp sidekiq.yml.example sidekiq.yml
# sidekiqのワーカー数をサーバに合わせて変更する
# ゆとりインストール版だと25に設定されている
vim sidekiq.yml
gemのインストール
Gemfileに以下を追加する
gem 'therubyracer'
bundle install --no-deployment
gemのインストール
bundle install --deployment --without development test postgres
初期設定
bundle exec rake gitlab:setup RAILS_ENV=production
Assetsのビルド
bundle exec rake assets:precompile RAILS_ENV=production
起動コマンド
sudo cp ./lib/support/init.d/gitlab /etc/init.d/gitlab
Nginx
sudo su -
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo sh -c "echo 'deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx' >> /etc/apt/sources.list"
sudo sh -c "echo 'deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx' >> /etc/apt/sources.list"
apt-get update
apt-get install nginx
cp /home/git/gitlab/lib/support/nginx/gitlab /etc/nginx/conf.d/gitlab.conf
service nginx restart
ブラウザからアクセス
初期アカウント
ID:root
password:5iveL!fe
既知の問題
- 新規リポジトリを作成した際し、コマンドからpushすると、タブメニュのRepositoryが表示されない。
- pipelineを利用すると、500エラー。CI入れてないから。。。そのうち治す。