2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure DevOpsAdvent Calendar 2022

Day 14

[Azure] DevOps でチーム開発

Posted at

本日は日々使っているAzure DevOpsに関してまとめたいと思います。普段使っていない部分は簡単な説明と、詳細ドキュメントの参照先の記載までとしています。

Azure DevOpsとは

Azure DevOpsとはチーム開発(一人で開発でもOK)に必要な機能がそろったオンラインサービスになります。

トップページは下記のように、左メニューにてOverview, Boards, Repos, Pipelines, Test Plans, Artifactsとなっています。詳しいことは後程説明していきます。日本語に表示を変える方法は見当たりませんでした・・ので英語のまま使っています。 Test Plan, Artifactsに関しては普段使っていないの簡易な説明のみとなっています。

image.png

製品ページはこちらです。
https://azure.microsoft.com/ja-jp/products/devops/

組織の下に複数のプロジェクトを保持することができ、
プロジェクト内に複数のレポジトリーを保持できるようになっています。
組織はADで紐づています。各プロジェクトへのアクセス権限も設定が可能です。権限に関しては本日は割愛します。

簡単に言うと、開発に関するプロジェクト管理、ソース管理、リリース・ビルド管理を行うサービスになります。

それでは、具体的にこのサービスを使うと、どんな風に開発プロジェクトを管理することができるのかを説明していきます。

Overview

Summary

まずログインすると出てくるページが サマリーページです。ここではプロジェクトのステータスをみることができます。いくつぐらいのタスクがあり、誰がどれぐらいタスクを完了したのかなどを見ることができます。

Dashboard

よく見る項目をまとめて表示することができます。普段の開発ではあまり使っていませんが、定期的に確認したい数値があればここに表示することをお勧めします。

image.png

Wiki

開発プロジェクトに関するドキュメントはすべてここで管理することができます。 サブページを作りツリー型でドキュメントを管理することができます。Markdown記述ができるので便利です。

image.png

Boards

ボードは主にタスク管理で使う機能になります。 

Work items

ここはタスク一覧がリストで表示されます。特に区切りなどはなく、最近更新されたものから表示されています。とにかくタスク一覧をだしたい場合はこのページを使います。

image.png

タスクアイテムの種類

タスクアイテムの種類はここでEpic, Issue, Taskとなっています。表示はされていませんが、そのほかにTest Case, Test Plan, TestSuiteがあります。

マイルストーン的なのは Epic
バグ系は Issue
一般的なタスクは Task

といった感じにタスクの種類を分けています。

Task

タスクには、Title, Assign, State, Area, Reason, Iteration, Description, Priority, Activity, Remaiing Work, Links, 添付ファイルなどの管理機能があります。

image.png

ここにあるAreaはカテゴリーみたな機能になります。タスクがどのカテゴリーのものなのかAreaで定義しています。後程エリアごとに進捗管理が行えるので初期段階で設計しておくことをお勧めします。

Boards

Boardsはステータスごとにタスクを並べることができます。現在とりかかっているタスク一覧をみるのに便利です。

image.png

Backlogs

Backlogsとは簡単に言うと残タスクになります。ここでは残タスクはEpicレベルで表示、Issueレベルで表示することで残タスクを管理することができます。担当者レベルでタスクの一覧表示や、ステータスごとで一覧表示など、残タスクをリストで管理することができます。 Work items はすべてのタスクが羅列されているのに比べBacklogsはタスクレベル単位で表示することができます。

image.png

Sprints

Sprintsは決まった期間でやるべきタスクのみをKanbanスタイルで表示することができます。今はメインでこれを使っています。今週やるべきタスクがすべてここにあり、来週取り掛かりたい内容などは次のスプリントに繰り越します。開発規模によってこの期間は変わりますが、今は基本1週間のSprintを回しています。

image.png

Queries

ここはほぼ使っていませんが、Taskの検索をすることができます。また検索条件を保存しておくこともできるので、なにか決まった条件でいつもタスクを検索したい場合はここを利用します。

Delivery Plans

ここではSprint単位でデリバリーされるであろうタスクをみることができます。デリバリープランは複数作ることができますのでチームごとにデリバリープランをみたり、プロダクト事に見たりなどすることができます。今は1プロダクトしかないので、1プランで使っています。

image.png

Repos

ここではRepositoryの管理を行えます。複数のRepositoryを管理することができます、今進めているプロジェクトでは、まだ1Repositoryのみです。

image.png

Repositoryごとに設定、ポリシー、セキュリティ(権限管理)を行うことができます。 Project Settings > Repos > Repostories に行くとこれらの設定を行うことができます。

image.png

Commits

CommitsではBranch事にCommitされた履歴を参照することができます。

image.png

Pushes

PushesRepositoryPushされた履歴を参照することができます。

image.png

Branches

Branchesではサーバー上にあるBranch一覧を閲覧することができます。ここにあるBranch同士Mergeしたりすることができます。みんなのBranchがサーバー上にたくさんあると、管理しずらくなるので基本メインBranchMergeしたら削除するようにしています。

Tags

Tagsは普段利用していませんが、複数のBranchを管理する必要があるときなどは便利だと思います。

Pull requests

Pull requestBranchBranchMergeRequestしたものになります。開発者は自身のBranchを作成し、Pull Requestを行い、特定のBranchMergeをしていきます。ここでコードのConflictがなければMergeされます。

Piplines

Piplinesではビルドやリリースを管理します。実際に開発されたコードを実装環境にリリースする作業になります。

Piplines

ここでは、割り当てられたサーバーを使い実際にビルドを行うことができます、このフローを自動化したものをPiplineと呼びます。そして、これらのフローを定義したファイルをYAMLファイルといいます。このYAMLファイルを編集し、ビルドのフローを定義します。

image.png

Environments

普段はここを使っていませんが、環境ごとにPiplineなどを管理したいときは利用できます。詳細はこちらを参照ください。
https://learn.microsoft.com/en-us/azure/devops/pipelines/process/environments?view=azure-devops

Releases

Pipelineにて、コードをビルドしたあとにはDeployment Artifactsと呼ばれるリリース用のアウトプットを生成することができます。このArtifactsを使い指定したAzureのサーバーなどにリリースをすることができます。ここで開発したコードでビルドされたものをリリースすることになります。

下記のようにビルドされた後に、リリースするフローを作成し管理することができます。ここではマスターブランチがマージされたあと自動的にビルドを行い、テスト環境に自動的にリリースされるようになっています。そして本番環境(リリース用スロット)へは手動でリリースするようになっています。

image.png

Library

ここではYAMLで呼び込める変数などを管理することができます。普段は使っていませんので、詳細はこちらを参照ください。
https://learn.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=azure-devops&tabs=yaml

Task groups

こちらも普段利用することなく、詳細はこちらを参照ください。
https://learn.microsoft.com/en-us/azure/devops/pipelines/library/task-groups?view=azure-devops

Deployment groups

複数のdeploymentを行う際にグルーピングする機能です、こちらも普段使っていません。 詳細はこちらを参照ください。https://learn.microsoft.com/en-us/azure/devops/pipelines/release/deployment-groups/?view=azure-devops

Test PLans

テストプランは普段使っていません、テスト計画の利用はTest Planが必要となります。 詳細はこちらを参照ください。
https://learn.microsoft.com/ja-jp/azure/devops/test/overview?view=azure-devops

Artifacts

Artifactsでは開発したコードのArtifactsを共有できる仕組みです。普段は使っていませんので、詳細はこちらを参照ください。 https://learn.microsoft.com/ja-jp/azure/devops/artifacts/start-using-azure-artifacts?view=azure-devops

まとめ

リモートワークがメインとなっている本日、複数の開発者が各々の環境で仕事しているため、Azure DevOpsのようなサービスで、開発タスク及びコードを管理し、アウトプット先(サーバー)も管理できる環境が必要とされています。また、テック市場は成長が著しく、Azure DevOpsを使い倒して、高品質かつ爆速でプラダクト開発を進めることが求められています。この記事では、とても簡易な説明に限定されていますので、是非今回貼り付けたリンク先を読んで、使い倒してくださいませ。

採用中

現在私が進めているレシートローラーでは絶賛採用中です。紙レシート削減を一緒につき進めてくれるエンジニアの方はこちらからご応募ください。

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?