2022年9月10日土曜日

GitLabをインストールする手順

現在、自宅環境ではAnsibleやSeleniumによる環境の自動化対応を進めている。その中で、やはりコードを管理するバージョン管理システム (VCS) が欲しくなり、以前から自宅環境として欲しかったGitLabを構築することにした。

ということで、本記事ではGitLabをAlmaLinuxにインストールする手順を記載する。

環境

GitLabをインストールするOSは、AlmaLinuxを用いる。ただし、Red Hat系のディストリビューションであるCentOSやRocky Linuxなどでも同様の手順で構築できるだろう。

  • OS : AlmaLinux 8.5
  • GitLab : 15.1.2

GitLabをインストールするサーバのスペックはCPU4コア・メモリ8GBとした。公式サイトに記載の最小要件はCPU4コア・メモリ4GBとなるが、メモリを多く消費するようなので余裕をもって8GBで構築している。

ちなみに、当初CPU2コア、メモリ2GBの環境で構築を進めていたが、メモリ不足となりインストールがいつまでも終了しない事態となったことから、少なくとも最小要件は必ず満たすようサーバを用意した方がよさそうだ。

また、今回は手順簡略化のため、SELinuxとfirewalldは停止しておく。

# systemctl stop firewalld
# systemctl disable firewalld
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# reboot

GitLabインストール手順

1. Postfixをインストール

GitLabの機能においてメール送信を利用する場合は、Postfixを使うようだ。本記事ではメール送信までの設定や確認は対象外としているが、将来利用できるようインストールしておく。

# dnf install postfix -y
# systemctl enable postfix
# systemctl start postfix

2. GitLabのリポジトリを登録

GitLabはdnfを用いてインストールするため、GitLabのリポジトリを登録する。リポジトリ登録用のシェルが公開されているので、以下の通りコマンドを実行するだけで、リポジトリ登録が完了する。

# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6928  100  6928    0     0  39588      0 --:--:-- --:--:-- --:--:-- 39588
Detected operating system as almalinux/8.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/config_file.repo?os=almalinux&dist=8&source=script
done.

~(中略)~

完了しました!
Generating yum cache for gitlab_gitlab-ee...
GPG 鍵 0x51312F3F をインポート中:
 Userid     : "GitLab B.V. (package repository signing key) <packages@gitlab.com>"
 Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
 From       : https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey
GPG 鍵 0xF27EAB47 をインポート中:
 Userid     : "GitLab, Inc. <support@gitlab.com>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ee-source...

The repository is setup! You can now install packages.

3. dnfにてGitLabをインストール

リポジトリが登録されているので、dnfにてGitLabをインストールする。GitLab Enterprise Edition (gitlab-ee) という名前になっているが、有償ライセンス登録をしなければ、機能上もライセンス上もGitLab Community Editionと同様の機能のみ利用できるようになっており、特に問題はない。

# dnf install gitlab-ee -y

4. GitLabを初期設定

単純にdnfでインストールしただけでは、初期設定がされておらずGitLabを利用することができないため、初期設定を実施する。

まず、GitLabを公開するURLを定義する。設定ファイルは/etc/gitlab/gitlab.rbとなるので、vi等を用いてexternal_urlの項目を修正しよう。

# vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'

設定が完了したら、以下コマンドで設定を反映させる。この処理は数分~数十分程度の時間を要するので、完了まで気長に待とう。もしいつまでも処理が完了しない場合は、CPUやメモリのリソース不足を疑おう。

# gitlab-ctl reconfigure

~(中略)~

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

gitlab Reconfigured!

初期設定が完了すると、gitlab-runsvdirというサービス名でGitLabが起動しているはずだ。

# systemctl status gitlab-runsvdir
● gitlab-runsvdir.service - GitLab Runit supervision process
   Loaded: loaded (/usr/lib/systemd/system/gitlab-runsvdir.service; enabled; ve>
   Active: active (running) since Thu 2022-07-07 13:51:09 JST; 1 day 20h ago
 Main PID: 3492 (runsvdir)
    Tasks: 431 (limit: 4915)
   Memory: 5.0G
   CGroup: /system.slice/gitlab-runsvdir.service
           tq  3492 runsvdir -P /opt/gitlab/service log: ......................>
           tq  3494 runsv logrotate
           tq  3504 svlogd -tt /var/log/gitlab/logrotate
           tq  3529 runsv redis
           tq  3531 /opt/gitlab/embedded/bin/redis-server unixsocket:/var/opt/g>
           tq  3548 svlogd -tt /var/log/gitlab/redis

~(以下略)~

5. 管理者ユーザ (root) の初期パスワードを確認

管理者ユーザ (root) の初期パスワードは自動生成され、その内容が/etc/gitlab/initial_root_passwordに記載されている。

# cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: LEDXXXXqJIZWfXXXXeoZxXXXXNe6XXXXjXFQeJ7ZXXXX

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

6. GitLabにログイン確認

それではGitLabにログインしてみよう。設定したURLまたはIPアドレスにブラウザでアクセスしてみよう。問題なければ、ログイン画面が表示されるはずだ。

ユーザ名をroot、パスワードは先ほど確認した自動生成パスワードを入力してログインできれば、インストールは成功となる。

最後にパスワードを変更しておこう。右上のユーザのアイコン→「Edit profile」→「Password」を選択し、「New password」に新しいパスワードを設定し「Save password」ボタンを押せば変更できる。

以上で、GitLabをAlmaLinuxにインストールする手順は完了となる。

0 件のコメント:

コメントを投稿

人気の投稿