Ubuntu にGitLab をインストールします。
筐体はRaspberry Pi で、Ubuntu をインストール直後の状態にインストールします。
環境について
- Raspberry Pi 4 Model B / 8GB
- Ubuntu Server 20.04.4 LTS (64bit)
ハードウェア要件
- ストレージ(空き容量2.5 GB)
- CPU(推奨4コア、500ユーザー)
- メモリー(4GB RAM、500ユーザー)
今回使うRaspberry Pi は、CPU は最小要件をぎりぎり満たしていました。
- GitLab installation minimum requirements – GitLab D0cs
準備
Raspberry Pi はUbuntu をインストールしてパソコンからSSH接続できることを確認していました。
GitLab をインストールする前に下記の作業をしておきます。
1. パッケージを最新に更新
sudo apt update
sudo apt upgrade
2. ストレージの空き領域の確認
pwd
→ /home/ubuntu
df -h ./
→ Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p2 30G 2.8G 26G 10% /
インストール
GitLabのコミュニティサイトに推奨のインストール方法として、オールインワンパッケージのインストール手順が記載されていたので、こちらを参考にGitLab のインストール作業を進めます。
- セルフマネージドGitLabをインストール – GitLabコミュニティサイト(日本語)
1. 依存パッケージのインストールと設定(必須)
1行目のパッケージのアップデートは準備作業で完了しているので不要。
2行目のライブラリのインストールは、既にSSH接続できているのでOpen SSHサーバは不要ですが、実行しても失敗するだけなのでこのまま実行します。
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
2. 依存パッケージのインストールと設定(任意)
メールの送信に使うPostfix をインストールします。
外部のSMTPサーバーを使う場合は不要です。
sudo apt-get install -y postfix
→ 設定画面が表示
"Internet Site" を選択
"mail name" に外部DNS名 ※今回「a.example」を入力
3. GitLabパッケージのリポジトリへの追加
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
4. GitLabのインストール
EXTERNAL_URL に自分のサーバのURLを指定します。
イントラでHTTPSにしないので、スキーム部はhttpにします。(気が向いたら後でHTTPにします)
sudo EXTERNAL_URL="http://gitlab.a.example" apt-get install gitlab-ee
インストールが完了すると、下記のメッセージが表示されました。
パスワードのリセットを強く推奨と書かれています。
- Reset the root password – GitLab Docs
設定のオプションを理解したければ、Omnibus GitLab readme を読めと書かれています。
- Omnibus GitLab readme – GitLab.com
5. ストレージの空き領域の確認
GitLab をインストール後の容量を確認します。
Used がインストールする前は2.8G だったので、約3.8G 増えています。
ハードウェア要件は空き容量2.5 GB でしたが、1.3G 程余分に使われたようです。
空き容量は22G と潤沢ではないですが、とりあえずはこれでよしとします。
df -h ./
→ Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p2 30G 6.6G 22G 24% /
6. rootユーザのパスワードの確認
/etc/gitlab/initial_root_password というファイルにroot ユーザのパスワードが保存されているので確認します。
このファイルは24時間後に自動削除されるようです。
sudo cat /etc/gitlab/initial_root_password
→ Password: <パスワード>
7. ブラウザでGitLab にログイン
インストール完了時に「http://gitlab.a.example」でGitLab が使えるというメッセージがありましたが、LAN環境のサーバでDNSの登録をしていないので、サーバのIPアドレスを指定した下記のURLにアクセスすると、ログインページが表示されました。
- http://<サーバのIPアドレス>/gitlab/
ドメイン名でアクセスできるようにするために、パソコンのhosts ファイルにサーバの行を追加します。
※ パソコンはMacなので、/etc/hosts を更新します。
sudo vi /etc/hosts
→追加した行
<サーバのIPアドレス> gitlab.a.example
下記のURLにアクセスすると、ログインページが表示されました。
- http://gitlab.a.example
ユーザ名root と先ほど確認したパスワードを入力するとログインに成功しました。
8. GitLabのバージョンの確認
右上の?アイコンの[Help] をクリックして表示されるページでバージョンを確認すると、14.9.3-ee となっていました。
OSS版のCE でよかったのですが、公式サイトに推奨は有料版のEEで、ライセンス登録しななくてもCE と同じ機能が使えるとのことだったので、これでよいことにします。
9. rootユーザのパスワード変更
右上のアイコンの[Edit profile] をクリックし、左の縦長のメニューにある南京錠のアイコンをクリックして表示されるページでパスワードを変更します。
インストール直後の状態の確認
1. バンドルインストールされたライブラリの確認
cat /opt/gitlab/version-manifest.txt
大量に表示されたのでここに貼り付けませんが、ぱっと見では下記のページに掲載されている内容と一致していました。
2. 設定ファイルの確認
GitLab の設定ファイル/etc/gitlab/gitlab.rb のコメントアウトされていない行だけを抽出して確認します。(2つ目のgrepで空白行を除去)
sudo grep -v "^#" /etc/gitlab/gitlab.rb | grep -v "^$"
→ external_url 'http://gitlab.a.example'
インストール時に指定したEXTERNAL_URL=”http://gitlab.a.example” がここにセットされていました。
他は全てコメントアウトされていました。
3. サービスの状態を確認
sudo gitlab-ctl status
ちなみに、サービスの起動・停止・再起動は下記のコマンドで実行します。
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
あとがき
ひとまず、インストールして正常に動作していることの確認ができました。最低限の使える状態にはなったようです。
インストール後の推奨される次のステップというのがあるので、まずはこちらを確認して必要なことがあれば対応しようと思います。
- Steps after installing GitLab – GitLab Docs
参照
- GitLab installation minimum requirements – GitLab D0cs
- セルフマネージドGitLabをインストール – GitLabコミュニティサイト(日本語)
- Reset the root password – GitLab Docs
- Omnibus GitLab readme – GitLab.com
- GitLab Enterprise Edition 14.9.3-ee.0
- Steps after installing GitLab – GitLab Docs