GitLabインストール(UbuntuOnWSL2)

背景

お仕事でWSLを利用する機会があったのでGitLabをインストールしてみた。ので、その備忘録として記録!

手順

1.WSLにUbuntuをインストール

まずは以下のコマンドを実行する。Microsoft StoreにあるUbuntuがインストールされる。(WSL環境未使用状態だと仮想環境のOnとかまでしてくれるんだってさ。つまり便利なコマンド。)

>wsl --install -d Ubuntu
ダウンロード中: Ubuntu
インストール中: Ubuntu
Ubuntu はインストールされました。
Ubuntu を起動しています...
>

で、それが完了するとUbuntuウィンドウが開く。で、Ubuntuで作成するユーザ名を入力するよう言われるので入力。ここではユーザ名をtmpとしている。

Enter new UNIX username: tmp
New password:
Retype new password:

これで早速WSL環境が使えるようになった!

2.Systemd有効化

なんだ?UbuntuってSystemdだろ!有効化って!?と思う人向けに以下を参照してほしい。

dotnet-runtime-5.0をインストール

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-5.0

残りの依存モジュールをインストールする

sudo apt install -y daemonize dbus gawk libc6 libstdc++6 policykit-1 systemd systemd-container

wsl-transdebianのリポジトリ設定

sudo apt install apt-transport-https

sudo wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg

sudo chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg

cat << EOF | sudo tee /etc/apt/sources.list.d/wsl-transdebian.list
deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
EOF

sudo apt update

genieインストール

sudo apt install -y systemd-genie

ルートパーティションがマウントされているデバイスにラベルを付け

最初のコマンドのMounted Onに”/”とだけある行のFilesystemを、次のコマンドの”ファイルシステム”のところに書く。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb        251G  1.3G  237G   1% /
tmpfs           2.0G     0  2.0G   0% /mnt/wsl
tools           466G  172G  294G  37% /init
none            2.0G     0  2.0G   0% /dev
none            2.0G  8.0K  2.0G   1% /run
none            2.0G     0  2.0G   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            2.0G     0  2.0G   0% /run/user
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
drivers         466G  172G  294G  37% /usr/lib/wsl/drivers
lib             466G  172G  294G  37% /usr/lib/wsl/lib
$ sudo e2label ファイルシステム cloudimg-rootfs

multipathを無効化

sudo systemctl disable multipathd.socket

genieを実行しsystemdをPID1にする

genie -s

genieを起動時に実行する

~/.bashrcの末尾に以下の内容を追記する。

if [[ ! -v INSIDE_GENIE ]]; then
  echo "Starting genie:"
  exec /usr/bin/genie -s
fi

3.GitLabをインストール

依存パッケージのインストールと設定

sudo apt update
sudo apt install -y curl openssh-server ca-certificates

ここでメール通知のためにpostfixをインストールする。が、ここは自由なので別の仕組みを利用できるみたい。ここでは公式の通りpostfixを使うことにする。Internet Siteを選択した。

sudo apt install -y postfix

GitLabパッケージのリポジトリへの追加とインストール

ちなみに社内環境ではプロキシが存在すると思う。で、ホームディレクトリに~/.curlrcにプロキシを設定していたので以下のコマンドにあるcurlはプロキシが通ったんだけど、以下のコマンドでダウンロードしたシェルスクリプトを実行するときにはsudoを利用しているためプロキシ設定が適用されない。それを回避したくば、sudoコマンドに-Eオプションを付けよう(sudoコマンドとbashコマンドの間にオプションを記述すること)。

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

で、やっとこさGitLabをインストール!インストールが完了しWeb画面にアクセスできるまで結構時間がかかるためひたすら待機(5分~10分くらいかな?)

sudo apt-get install gitlab-ce

4.GitLabを起動

 sudo gitlab-ctl reconfigure

5.動作確認

あとはURLにアクセスして構築したGitLabにアクセスしてみよう。以下のURLをホスト(Windows)のブラウザに入力してアクセスする。

http://localhost/

結論

疲れた…。

参考資料

Systemd有効化
https://snowsystem.net/other/windows/wsl2-ubuntu-systemctl/

GitLabインストール
日本語版 GitLabインストール手順(公式)
英語版 GitLabインストール手順(公式)

1件のコメントがあります

コメントを残す