こんばんは。今日は、Azure上にGitlabサーバを立てる手順について整理しておこうと思います。
セキュリティなどの観点から、ローカルサーバ上にソース管理システムを構築したケースがあるかと思います。そんな時にGitLabは良いソリューションになります。GitLabは自前のサーバー上に構築、つまりセルフホステッドが可能です。
AzureにはMarket Placeという機能があり、初心者でも簡単に構築することができましたので、ご安心ください!
それでは早速まいります!
Contents
Market PlaceからGitLabをデプロイする
Microsoft Azureでは、Market Placeという、サードパーティが自社ソリューションをAzure上で展開できるように、Azureリソースを使って構築したものを無料、または有料で利用することができる便利な機能があります。
早速、「リソースの追加」で、Market Placeの検索窓にGitlabと入力してみると、たくさんのサービスが出てきました・・・!ぎゃ・・逆に選べん・・!
この中でもGitlabが公式に提供しているのは上段左3サービスで、その中でさらに無料で利用できるものは、Gitlab Community Editionでしたので、今回はこちらを使うことにしました。
Gitlab Community Editionを選択し、作成をクリックします。
すると、仮想マシンの作成画面に遷移します。「イメージ」のところをみると、Gitlab社により事前構築済みのイメージが指定されていることが分かります。
その他の設定(デプロイするリージョン、ストレージ、仮想ネットワーク設定など)は、お使いの環境に合わせて適宜変更すればOKです。
今回はテストですので、仮想マシンサイズもストレージも最も安いものに落としました。
ネットワークの設定は、既にGitLabサーバーをデプロイする先の仮想ネットワーク(VNET)が決まっていれば、それを指定しておきます。
デプロイ前の最終確認画面です。GitLabはCommunity Editionを利用しているため無料、VMは、自分が選んだスペックに応じた料金が発生します。
問題がなければ、デプロイを実行します!
たったこれだけで完了です!!便利です!
GitLabの稼働確認を行う
仮想マシンリソースから確認できるVMのパブリックIPアドレスにアクセスしてみると・・
あれ?サーバーエラーが出た・・なんか同じような問題を報告している人が・・
https://gitlab.com/gitlab-org/gitlab/-/issues/281720
私の場合、再度Market Placeから作り直したところ、うまく動くようになりました。なんか不安定なのかな・・・
最初に、パスワードの設定が求められるので、任意のパスワードを設定の上「Change your password」をクリックします。すると、新規ユーザの登録を行える画面が現れますので、New Userの登録を進めます。
ここで、ユーザ登録時にメールアドレスの認証が必要になります。が、Gitlabサーバーからメールを遅れるようにするための設定が必要のようです。方法は2つ。以下が参考になるかと思いますが、今回は1の方法を取ることにしました。
1:メールアドレス認証を行わないように設定を変更する。
https://qiita.com/ptiringo/items/249fc23c02484a485646
2:メール送信をできるように設定を変更する。
https://qiita.com/sunack/items/acd9412372c87714bfc1
GitLabサーバーへの接続は、SSHを利用しますが、今回は元々構築済であったAzure Bastionを利用して、ポータル経由でSSH接続します。(普通にローカルのクライアントツールからのSSH接続でももちろんんOKです)
少し横道にそれますが以下はAzure Bastionの構成手順です。とても簡単で便利ですよ・・!
sudo vi /opt/gitlab/embedded/service/gitlab-rails/app/models/user.rb
で編集モードで開き、以下のコードを追加して保存します。
default_value_for :confirmed_at, Time.now
追加した後は、Gitlabを再起動します。
sudo gitlab-ctl restart
その上で、New Userの登録を行うと・・・
おお!メール認証なく登録&ログインすることができました!!
以上、Azure VM上にGitlabサーバーを構築する手順でした!
同じ作業をされる方の参考に少しでもなれば幸いです!
おまけ:GitLabについてもっと勉強するなら
Udemyの以下の講座がとてもお勧めです!
GitLab CI: Pipelines, CI/CD and DevOps for Beginners最後になりますが、この記事が役にたったという方、励みになりますのでぜひ下のいいねボタンをポチっていただければ嬉しいです!
おしまい