AWSでGitLabホスティングしてみた

この記事は『CRESCO Advent Calendar 2021』 1日目の記事です。

わたくし、金融業界にてフルリモートでアジャイル開発にチャレンジしてみました。

アジャイル開発といえば「タスクの見える化」、「タスクの見える化」といえば「かんばんボード」です!(多分)

さらに、フルリモートでの開発なのでwebで利用できるJiraやTrelloなどの「かんばんボード」のツールが使いたい!!!!

ただ、金融業界特有の様々な制約があり、JiraやTrelloなどの「かんばんボード」ツールが利用出来なかったので、代わりにGitLabをAWS上にホスティングして利用しました。

今回はホスティングの手順や、GitLabでのかんばんボードの利用方法などを書いていきます。

GitLabを利用するまでの流れは下記の通りです。

1.Cloud9を作成します。

2.EC2を作成します。

3.EIPを作成します。

4.cloud9とEC2のNW設定をします。

5.GitLabをインストールします。

6.GitLabを試しにさわってみる。

それでは早速やってみましょう!!!

 

1.Cloud9を作成します。

GitLabをインストールする環境(踏み台サーバ)として、今回はCloud9を使用します。

1-1.Cloud9のサービスコンソールから[Create enviroment]をクリックします。

 

1-2.Nameを記入したら[Next step]をクリックします。

 

1-3.Platformで[Ubuntu Server]を選択する。選択出来たら同一画面の下部にスクロールします。

 

1-4.ネットワークの設定で後ほど作るEC2インスタンスと同一VPC、同一サブネットを選択する。今回はデフォルトVPCの東京リージョンの1aを選択しました。その他の設定は今回はデフォルトで設定しましたが、必要に応じて設定してください。選択出来たら[Next step]をクリックします。

 

1-5.review画面から設定項目を確認したら、[Create environment]をクリックします。

 

 

1-6.下記のような画面に遷移したらCloud9の出来上がりです。

 

2.EC2を作成します。

GitLabのホスティング先としてEC2を使用します。

2-1.EC2のサービスコンソールから[インスタンスを起動]をクリックします。

 

2-2.debianを検索して[Devian 10]を見つけたら[選択]をクリックします。

 

2-3.GitLabは少々重いのでインスタンスタイプは「t2.large」を選択し、[次のステップ:インスタンスの詳細の設定]をクリックします。

 

2-4.ネットワークとサブネットには先ほどCloud9と同一のVPCとサブネットを選択します。自動割り当てパブリックIPは今回は[無効化]を選択し、[次のステップ:ストレージの追加]をクリックします。

 

2-5.今回はストレージ追加はしません。そのまま[次のステップ:タグの追加]をクリックします。

 

2-6.キーに[Name]、値にEC2の名前、今回は[sample-girlab]を追加し、[次のステップ:セキュリティグループの設定]をクリックします。

 

2-7.セキュリティグループ名と説明にEC2の名前を記入してください。SSHのソースに[マイIP]を指定します。[ルールの追加]をクリックし、HTTPと80番ポートを設定し、設定ができたら[確認と作成]をクリックします。

※当HTTPの設定をするとEC2がオープンになるので設定の際はご注意ください。

 

2-8.設定内容を確認したら[起動]クリックします。

 

2-9.キーペアの作成ダイアログが出てくるので、[新しいキーペアの作成]を選択し、RSAのキーペア名を記入したら[キーペアのダウンロード]をクリックします。

 

2-10.キーペアがダウンロード出来たら、[インスタンスの作成]ボタンがアクティブになるのでクリックします。

 

2-11.[インスタンスの表示]をクリックします。

 

2-12.インスタンスの状態が[実行中]になって、無事インスタンスが作成できました。

 

3.EIPを作成します。

EC2は起動停止するたびにIPアドレスが変化するので、EIPで固定のパブリックIPアドレスを作成します。

3-1.VPCのサービスコンソールから[Elastic IP]を選択し、[Elastic IP アドレスを割り当てる]をクリックします。

 

3-2.キーに[Name]、値にEIPの名前、今回は[gitlab-instanse-eip]を追加し、[割り当て]をクリックします。

 

3-3.インスタンスに作成したEC2インスタンスを選択し、[関連付ける]をクリックします。

 

3-4.下記のような緑の画面が出てきたら完了です。

 

 

4.Cloud9とEC2のNW設定をします。

Cloud9をEC2の踏み台サーバとして使用するための設定をします。

4-1.2-12の画面の[セキュリティタブ]から[セキュリティグループ]をクリックします。

 

4-2.[インバウンドルールを編集]をクリックします。

 

4-3.[ルールの追加]をクリックし、SSHで1.の手順で作成したcloud9のセキュリティグループを追加したら、[ルールを保存]をクリックします。

 

4-4.下記のような緑の画面が出てきたらセキュリティグループの設定ができました。

 

ここまで出来たら、いよいよGitLabのインストールです。

5.GitLabをインストールします。

いよいよ本命のGitLabを入れていきます。

5-1.Cloud9のenvironmentフォルダ直下にダウンロードした.pemファイルを配置して、下記コマンドを実行します。

 

5-2.下記コマンドの.pemファイル名とプライベートIPv4アドレスを書き換えて実行します。

プライベートIPv4アドレスは作成したEC2インスタンスの下記画面から確認出来ます。

 

5-3.下記コマンドを実行し、Ubuntuのデフォルトロケールを日本に変更します。

 

5-4.下記コマンドを実行し、GitLabをインストールします。

※GitLab最新バージョンは下記サイトに記載されています。

https://www.gitlab.jp/install/#debian

※mail送信の設定です。下記公式サイトより引用します。

「別の方法でメールを送信する場合はこのステップを飛ばし、GitLabのインストール後に 外部のSMTPサーバーを設定  してください。

Postfixのインストール中に設定画面が表示されます。その時は’Internet Site’を選択してEnterを押し、’mail name’にはサーバーの外部DNS名を入力してEnterを押してください。もしも追加の画面が表示される場合は、デフォルトのままEnterを押して続けてください。」

※上記コマンドの完了には10分ほどかかります。

 

5-5.下記画面がターミナルに出てきたらインストール完了です。

 

5-6.デフォルトで作成されるrootユーザのパスワードファイルがありますが、こちらは24時間経過すると自動削除されてしまうので、下記コマンドを実行してrootファイル直下にinitial_root_passwordファイルのバックアップを取っておきます。

 

ようやくGitLabがインストールできました!

次にGitLabにアクセスしてログインしてみましょう!

 

6.GitLabを試しにさわってみる。

試しにタスクとかも出してみましょう。

6-1.EC2インスタンスのサービスコンソールから、GitLabをインストールしたインスタンスを選択し、パブリックIPv4アドレスをコピーしてください。コピーしたIPに[http://]を付けてGitLabにアクセスします。

 

6-2.アクセス出来たらログインを求められるので、4-6の手順でバックアップしたファイルからrootユーザのパスワードを確認し、ログイン試行してみます。

 

6-3.ログイン出来たら早速プロジェクトを作ってみます。[New project]をクリックします。

 

6-4.今回は[Create blank project]を選択します。

 

6-5.プロジェクト名を記入したら、[Create project]をクリックします。

 

6-6.プロジェクトが出来たら、[Issues]から[Boards]を選択します。

 

6-7.タスクボードが出てきたら[+]ボタンを押してタスクを作ってみます。

 

6-8.タスクのタイトルを記入したら、[Create issue]をクリックします。

 

6-9.タスクが出来たらタスクタイトルをクリックすると、タスク詳細を書き込むこともできます。下記コマンドを記入し[Comment]をクリックすることで見積もり時間や、タスクの割当、経過時間などの設定も出来ます。

 

 

私は主にタスク管理やwikiとしてGitLabを利用していますが、CI/CD環境などもGitLabを使って構築できるみたいで、まだまだできる事がたくさんありそうです。

それでは、皆さんも快適なアジャイル開発を!!!!

  • このエントリーをはてなブックマークに追加