アジャイル開発といえば「タスクの見える化」、「タスクの見える化」といえば「かんばんボード」です!(多分)
さらに、フルリモートでの開発なのでwebで利用できるJiraやTrelloなどの「かんばんボード」のツールが使いたい!!!!
ただ、金融業界特有の様々な制約があり、JiraやTrelloなどの「かんばんボード」ツールが利用出来なかったので、代わりにGitLabをAWS上にホスティングして利用しました。
今回はホスティングの手順や、GitLabでのかんばんボードの利用方法などを書いていきます。
GitLabを利用するまでの流れは下記の通りです。
それでは早速やってみましょう!!!
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の出来上がりです。
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.インスタンスの状態が[実行中]になって、無事インスタンスが作成できました。
EC2は起動停止するたびにIPアドレスが変化するので、EIPで固定のパブリックIPアドレスを作成します。
3-1.VPCのサービスコンソールから[Elastic IP]を選択し、[Elastic IP アドレスを割り当てる]をクリックします。
3-2.キーに[Name]、値にEIPの名前、今回は[gitlab-instanse-eip]を追加し、[割り当て]をクリックします。
3-3.インスタンスに作成したEC2インスタンスを選択し、[関連付ける]をクリックします。
3-4.下記のような緑の画面が出てきたら完了です。
Cloud9をEC2の踏み台サーバとして使用するための設定をします。
4-1.2-12の画面の[セキュリティタブ]から[セキュリティグループ]をクリックします。
4-2.[インバウンドルールを編集]をクリックします。
4-3.[ルールの追加]をクリックし、SSHで1.の手順で作成したcloud9のセキュリティグループを追加したら、[ルールを保存]をクリックします。
4-4.下記のような緑の画面が出てきたらセキュリティグループの設定ができました。
ここまで出来たら、いよいよGitLabのインストールです。
いよいよ本命のGitLabを入れていきます。
5-1.Cloud9のenvironmentフォルダ直下にダウンロードした.pemファイルを配置して、下記コマンドを実行します。
sudo chmod 0600 <.pemファイル名> |
5-2.下記コマンドの.pemファイル名とプライベートIPv4アドレスを書き換えて実行します。
ssh -i <.pemファイル名> admin@<プライベートIPv4アドレス> |
プライベートIPv4アドレスは作成したEC2インスタンスの下記画面から確認出来ます。
5-3.下記コマンドを実行し、Ubuntuのデフォルトロケールを日本に変更します。
sudo -i |
apt install -yq locales |
sed -i 's/# \(ja_JP.UTF-8.*\)/\1/' /etc/locale.gen |
locale-gen |
update-locale LANG=ja_JP.UTF-8 |
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime |
5-4.下記コマンドを実行し、GitLabをインストールします。
※GitLab最新バージョンは下記サイトに記載されています。
sudo apt-get update |
sudo apt-get install -y curl openssh-server ca-certificates |
sudo apt-get install -y postfix |
※mail送信の設定です。下記公式サイトより引用します。
「別の方法でメールを送信する場合はこのステップを飛ばし、GitLabのインストール後に 外部のSMTPサーバーを設定 してください。
Postfixのインストール中に設定画面が表示されます。その時は’Internet Site’を選択してEnterを押し、’mail name’にはサーバーの外部DNS名を入力してEnterを押してください。もしも追加の画面が表示される場合は、デフォルトのままEnterを押して続けてください。」
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash |
sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee |
※上記コマンドの完了には10分ほどかかります。
5-5.下記画面がターミナルに出てきたらインストール完了です。
5-6.デフォルトで作成されるrootユーザのパスワードファイルがありますが、こちらは24時間経過すると自動削除されてしまうので、下記コマンドを実行してrootファイル直下にinitial_root_passwordファイルのバックアップを取っておきます。
cp /etc/gitlab/initial_root_password /root/ |
ようやくGitLabがインストールできました!
次に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]をクリックすることで見積もり時間や、タスクの割当、経過時間などの設定も出来ます。
/estimate xxdxxhxxm : タスクの見積もり時間 |
/assign @member name : タスクの割当 |
/spend xxdxxhxxm : タスクの経過時間 |
私は主にタスク管理やwikiとしてGitLabを利用していますが、CI/CD環境などもGitLabを使って構築できるみたいで、まだまだできる事がたくさんありそうです。
それでは、皆さんも快適なアジャイル開発を!!!!