今回はGitLab Self-managedインスタンスからメール送信を有効にするため、Gmailを利用した例を紹介します。
GitLab Self-managedインスタンスの作成方法は前回の記事を参照してください。
背景
GitLab Self-managed版は、ユーザー作成後のパスワード更新などでメール送信を利用します。Self-managed版ではメール送信を有効にするため、SMTPサーバーの用意と機能設定が必要です。ここではGmailを利用した例を紹介します。
検証
Gmailの設定
最初にGmail側の設定を行います。ここではまずアプリパスワードを発行します。前提として、Googleアカウントの2段階認証が有効になっている必要があります。
Googleアカウントのページに移動し、 セキュリティ
を選択します。その後の画面で 2段階認証プロセス
を選択後、画面下部の アプリパスワード
を選択します。
アプリパスワード画面に移動するので、適当なアプリ名を入力して 作成
をクリックします。
作成するとアプリパスワードが一度だけ表示されます。後ほど利用するので、表示されたパスワードをメモしておきます。
GitLabの設定
次にGitLab側の設定を変更します。設定は /etc/gitlab/gitlab.rb
ファイルを変更することで実現します。
まずはインスタンスにログインします。変更前にバックアップの取得を行っておきます。
[ec2-user@ip-10-0-0-238 ~]$ sudo cp -p /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bk
次に以下のようにファイルを修正します。設定内容はSMTPサーバーによって異なりますが、ここではGmail用の設定を行います。
[ec2-user@ip-10-0-0-238 ~]$ sudo vi /etc/gitlab/gitlab.rb (一部抜粋) gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "<Googleアカウント>@gmail.com" gitlab_rails['smtp_password'] = "<アプリパスワード>" gitlab_rails['smtp_domain'] = "smtp.gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'peer' [ec2-user@ip-10-0-0-238 ~]$
ファイルを修正後は gitlab-ctl reconfigure
コマンドで変更を反映します。
[ec2-user@ip-10-0-0-238 ~]$ sudo gitlab-ctl reconfigure [2024-01-07T00:53:48+00:00] INFO: Started Cinc Zero at chefzero://localhost:1 with repository at /opt/gitlab/embedded (One version per cookbook) Cinc Client, version 17.10.0 Patents: https://www.chef.io/patents Infra Phase starting (割愛) [2024-01-07T00:54:41+00:00] INFO: Report handlers complete Infra Phase complete, 14/940 resources updated in 52 seconds [2024-01-07T00:54:41+00:00] WARN: This release of Cinc Client became end of life (EOL) on May 1st 2023. Please update to a supported release to receive new features, bug fixes, and security updates. gitlab Reconfigured! [ec2-user@ip-10-0-0-238 ~]$
動作確認
最後に動作確認です。
まずは管理者のメールアドレスの変更を行います。 root
ユーザーでログイン後、アイコンをクリックして Edit profile
を選択します。
次にメールアドレスを変更します。初期は admin@example.com
です。修正後は画面下部の Update profile settings
を選択します。
アドレスを修正すると、指定のメールアドレス宛に以下のようなメールが送信されています。 Confirm your email address
をクリックして変更を確定します。
次にユーザーの作成を行います。ここではGItLabの画面上から test-gmail-01
というユーザー名で作成しました。ユーザーの作成に成功すると、指定したメールアドレス宛にメールが送信され、パスワードの変更を要求します。
メール中の Click here to set your password
を選択すると、パスワードの変更画面が表示されます。
パスワードの変更に成功すると以下のようなメールが送信されます。試しにログインしてもちゃんとログインできることを確認できます。