【Microsoft Azure】仮想マシン上にGitLabサーバを構築する

こんばんは。今日は、Azure上にGitlabサーバを立てる手順について整理しておこうと思います。

セキュリティなどの観点から、ローカルサーバ上にソース管理システムを構築したケースがあるかと思います。そんな時にGitLabは良いソリューションになります。GitLabは自前のサーバー上に構築、つまりセルフホステッドが可能です。

AzureにはMarket Placeという機能があり、初心者でも簡単に構築することができましたので、ご安心ください!

それでは早速まいります!

Market PlaceからGitLabをデプロイする

Microsoft Azureでは、Market Placeという、サードパーティが自社ソリューションをAzure上で展開できるように、Azureリソースを使って構築したものを無料、または有料で利用することができる便利な機能があります。

Azure Marketplace

早速、「リソースの追加」で、Market Placeの検索窓にGitlabと入力してみると、たくさんのサービスが出てきました・・・!ぎゃ・・逆に選べん・・!

この中でもGitlabが公式に提供しているのは上段左3サービスで、その中でさらに無料で利用できるものは、Gitlab Community Editionでしたので、今回はこちらを使うことにしました。

Azure Marketplace上のGitlabソリューション

Gitlab Community Editionを選択し、作成をクリックします。

Gitlab Community Edition

すると、仮想マシンの作成画面に遷移します。「イメージ」のところをみると、Gitlab社により事前構築済みのイメージが指定されていることが分かります。

Gitlab Community Editionのデプロイ設定(VM設定)

その他の設定(デプロイするリージョン、ストレージ、仮想ネットワーク設定など)は、お使いの環境に合わせて適宜変更すればOKです。

今回はテストですので、仮想マシンサイズもストレージも最も安いものに落としました。

ネットワークの設定は、既にGitLabサーバーをデプロイする先の仮想ネットワーク(VNET)が決まっていれば、それを指定しておきます。

VMのネットワーク設定

デプロイ前の最終確認画面です。GitLabはCommunity Editionを利用しているため無料、VMは、自分が選んだスペックに応じた料金が発生します。

デプロイ前の確認

問題がなければ、デプロイを実行します!

たったこれだけで完了です!!便利です!

GitLabの稼働確認を行う

仮想マシンリソースから確認できるVMのパブリックIPアドレスにアクセスしてみると・・

Gitlabサーバのトップ画面(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
User.rbにコードを追加

追加した後は、Gitlabを再起動します。

sudo gitlab-ctl restart

その上で、New Userの登録を行うと・・・

おお!メール認証なく登録&ログインすることができました!!

Gitlabのログイン後画面

以上、Azure VM上にGitlabサーバーを構築する手順でした!

同じ作業をされる方の参考に少しでもなれば幸いです!

おまけ:GitLabについてもっと勉強するなら

Udemyの以下の講座がとてもお勧めです!

GitLab CI: Pipelines, CI/CD and DevOps for Beginners

最後になりますが、この記事が役にたったという方、励みになりますのでぜひ下のいいねボタンをポチっていただければ嬉しいです!

おしまい

この記事を気に入っていただけたらシェアをお願いします!

ABOUT US

Yuu113
初めまして。Yuu113と申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。