概要
前回 11.8-stable ブランチのソースコードを clone してソースコードからインストールしてみました
今回は master ブランチを clone してビルドしてみます
基本的には前回と同じなので前回と違う手順だけ紹介します
環境
- GitLab Enterprise Edition 13.0.0-pre 52c7947911d
- Ruby 2.6.5 (rvm)
- Golang 14.2
- それ以外は前回と同じ
rack_attack.rb.example がなくなっていた
rack_attack_new.rb
と rack_attack_logging.rb
がすでに配置されているので特にサンプルからコピーする作業がなくなりました
native extension をビルドするために必要なパッケージが増えた
sudo apt -y install libicu-dev cmake libkrb5-dev libre2-dev
clone するリポジトリが異なる
foss ではなく gitlab 本体を clone しましょう
またブランチも指定しません
git clone --depth 1 https://gitlab.com/gitlab-org/gitlab.git gitlab
unicorn.rb -> puma.rb になっている
Web サーバが unicorn から puma になっているので配置する設定ファイルも puma.rb を配置します
cd /home/git/gitlab
cp config/puma.rb.example config/puma.rb
systemctl start gitlab 起動しない
エラー分は「Cannot allocate memory - daemon (Errno::ENOMEM)」でした
愚直に vagrant のメモリサイズを 4GB -> 6GB にしたところうまく起動しました
config.vm.provider "virtualbox" do |vb|
vb.memory = 6144
vb.cpus = 2
end
基本的には /etc/init.d/gitlab start
で手動実行してログを確認しながらトラブルシューティングしてみましょう
起動はしているが systemctl のステータスは failed になってしまう
起動スクリプトの pid ファイルをチェックする部分がおかしいようです
問題なく動作しているのに exit 1
しているためです
sudo vim /etc/init.d/gitlab
wait_for_pids(){
i=0;
while [ ! -f $web_server_pid_path ] || [ ! -f $sidekiq_pid_path ] || [ ! -f $gitlab_workhorse_pid_path ] || { [ "$mail_room_enabled" = true ] && [ ! -f $mail_room_pid_path ]; } || { [ "$gitlab_pages_enabled" = true ] && [ ! -f $gitlab_pages_pid_path ]; } || { [ "$gitaly_enabled" = true ] && [ ! -f $gitaly_pid_path ]; }; do
sleep 0.1;
i=$((i+1))
if [ $((i%10)) = 0 ]; then
echo -n "."
break;
elif [ $((i)) = 301 ]; then
echo "Waited 30s for the processes to write their pids, something probably went wrong."
exit 1;
fi
done
echo
}
これでステータスが正常で終了します
最後に
Gitlab のインストールをソースコードから行ってみました
基本的には前回と同じでしたが使用している gem が増えていたりしていたので必要なパッケージが増えていたり puma が標準になっていたりとやや違いがありました
メジャーバージョンアップするごとに毎回ビルドを試してみても良いかもしれません
おそらくバージョンアップするたびにエラーになるような気がします
0 件のコメント:
コメントを投稿