【Azure DevOps】Azure BoardsとAzure Reposを用いて課題立て, ソース管理をやってみた!
はじめに
次に参画予定のお客様先ではソースコード管理にAzure DevOpsを使用していると聞いたので復習がてら触ってみました! 以前の現場ではBacklogを用いており、課題を立てて、Backlogのリモートリポジトリとその課題を関連付けて管理するという手法だったのでAzureDevOpsでも同じようにその流れをやってみようと思います。
Azure DevOpsとは
Azure DevOps
とは、ソフトウェアのチーム開発を手助けするためにMicrosoftが提供しているサービスです。
一言でAzure DevOps
と言っても、その中には多数のサービスがあります。
以下にそれぞれのサービスと説明を記載します。(説明はAzure DevOps の概要を引用させていただいています。)
Azure Pipelines
あらゆる言語、プラットフォーム、クラウドに対応した CI/CD 機能。GitHub や任意の Git リポジトリに接続し、継続的にデプロイすることができます。
Azure Boards
かんばんボード、バックログ、チームのダッシュボード、カスタム レポートを使用した強力な作業追跡。
Azure Artifacts
パブリックおよびプライベートのソースからの、Maven、npm、NuGet パッケージのフィード。
Azure Repos
クラウドでホストされる容量無制限のプロジェクト用プライベート Git リポジトリ。pull request や高度なファイル管理などを共同で実施できます。
Azure Test Plans
オールインワンの計画された探索的テスト ソリューション。
今回使用するのは上記のうちのAzure Repos
とAzure Boards
です(プロジェクトのテンプレートはBasic
としています)。
流れとしてはAzure Boardsで課題を立て、Azure Reposにその課題に紐づくソースをプッシュしていく感じにしたいと思います。
課題を立てる
それでは仮のプロジェクトへ課題を立てていきたいと思います。
Epic, Issue, Taskの作成
今回はプロセスの種類をBasic
で作っているのでWork Item一覧にはEpic
,Issue
,Task
の3種類が表示されます。
Epic
,Issue
,Task
は階層構造になっており、それぞれ大項目, 中項目, 小項目という感じのようです。
Epic
上記のNew Work ItemからEpic
を選択し、課題を作成します。
タイトル、担当者、詳細欄、スケジュール等々、色々記載する箇所があるので任意の値を入れます。
今回は以下のようにしました。
Issue
先ほど添付したNew Work ItemからIssue
を選択し、課題を作成します。
こちらもEpic
同様、色々記載する箇所があるので任意の値を入れます。
先ほどと異なる部分で右下にRelated Work
という箇所があるのですが、そちらへ親課題を設定します。
Task
先ほど添付したNew Work ItemからTask
を選択し、課題を作成します。
こちらもIssue
同様、色々記載する箇所があるので任意の値を入れます。
Related Work
にはIssueで作成した課題をセットします。
以上で、課題を作成することができました。 一覧へ戻ると以下のように課題が表示されています。
サイドメニューからBoards
を選択するとカンバン形式でタスクを見ることも出来るようです。
ソースコード管理を行う
続いてはソースコード管理を行っていきます。
ソースのPushまで
サイドメニューからRepos
>Files
を選択します。
ソースコードをクローンする際は右上のClone
を選択してリポジトリ先を取得します。
Cloneした後はブランチを切ってローカルで作業を行い、再度リモートリポジトリへプッシュします。 プッシュ後は以下の赤枠部分のようにプッシュした情報が記載されているかと思います。
プルリクエスト
ソースコードをPushした後はプルリクエストを作成します。
サイドメニューのPull requests
をクリックし、プルリクエストを作成します。
任意のタイトルや説明文を記載し、Work items to link
へAzure Boardsで作成した課題を紐づけます。
今回はEpic
,Issue
,Task
それぞれ1つずつのため全て入れていますが、基本的にはTask
ごとにブランチを切ると思うので業務ではTask
のみを入れる形になりそうです。
プルリクエストを出した後はレビューの方がマージ作業を行います(今回は私一人で行っているのでレビューも私がやっています)。
問題がなさそうでしたら右上のComplete
ボタンをクリックし、
Complete merge
ボタンをクリックします。
(この際に、関連付いた課題のClosedとブランチの削除も同時に行うようoptionにチェックを入れておきます)
これにてマージが完了しました。masterブランチのCommitsに先ほどプルリクエストを出した内容が入っていることが分かります。
課題も完了し、ステータスがDone
となっていることが分かります。
おわりに
今回はAzure DevOpsの勉強としてAzure BoardsとAzure Reposを扱ってみました。 今後は触っていく機会も増えると思うので、しっかり使いこなしていこうと思います!