3
4

More than 1 year has passed since last update.

Azure DevOpsを使ってみた

Last updated at Posted at 2023-03-02

Azure DevOpsとは

Azure DevOpsとは5つのメイン機能で、CI/CDサイクルのプランニング、トラッキング、開発、テスト、デプロイメント、監視、運用のフェイズを最初から最後まで管理するサービスです。

image.png

5人ユーザーまでは無料で使用でき、6人以上になると一人当たり867.5円掛かります。
(2022年10月15日現在)

Test Plan機能を使うには別途課金が必要で、無料トライアルで30日間使用も可能です。

※CI/CDとは
Continuous Integration/Continuous Deliveryのことで継続的インテグレーション、継続的デリバリーと言います。

従来の開発方法はウォーターフォール型で設計、開発、テストを順番にやってきました。ですが途中で仕様変更が生じた際の手戻りが発生すると、コスト増加・スケジュール遅延など大きな影響を及ぼします。そこで短いスパンの設計、開発、テスト、リリースを繰り返すことで柔軟に対応出来るようにして品質を確保するアジャイル型という手法が取り上げられるようになりました。

そのため開発から本番リリースまでを迅速かつ自動的に行うための仕組みをここでは指します。

登録の仕方

MicrosoftまたはGithubアカウントにより以下から登録を行います。
https://azure.microsoft.com/ja-jp/products/devops/
image.png

Microsoftアカウントの場合以下を入力。
image.png

Githubアカウントの場合以下を入力。
image.png

ログイン後、プロジェクトの作成を行います。
image.png

左一覧のアイコンがメインの機能になります。
image.png

機能紹介

ここからは各主要機能について解説していきます。

OverView

ここではプロジェクトに全体に関わる概要等について見れる機能になります。

・Summary

後程の機能でブランチを作成して、その中にあるマークアップ言語のファイルを使用してプロジェクト内容を表示が出来ます。

他に現在進行中、完了済みの作業タスク数、プルリクエスト数、コミット数が確認できます。

image.png

・Dashboards

プロジェクトに関わる情報のウェッジをカスタマイズして表示出来ます。

image.png

・Wiki

必要な情報を纏めて管理できるwiki機能もあります。

image.png

Boards

ここでは作業タスクの設定、スケジュールの管理を行います。

・Work items

Work itemは作業タスクにあたり、3種類あります。
階層として一番上に位置するのがEpic、次にissuetaskの順番があります。

Epicにプロジェクト名、issueでしなければならない大枠作業、taskは更に細分化した作業というイメージです。

現在の作業ステータス、スプリント(時期)、作業時間、作業担当者をそれぞれ設定することが出来ます。

image.png

・Boards

epic、issue単位で管理できる機能です。issue自体を動かしDoingやDoneに移動することが出来、直感的に操作やすい画面になっています。

image.png

・Backlogs

work item画面でも操作可能ですが、「…」から作業タスクの編集、削除等の操作が出来ます。

image.png

・Sprints

割り当てられているスプリントで作業タスクを表示します。
全体の作業量、各々のタスク時間がどれだけ割当たっているかも確認できます。
設定時間を超えると赤く表示されます。

image.png

スクリーンショット 2023-02-26 124039.jpg

・Queries

作業タスクからクエリで抽出する機能になります。
定期ミーティングの際は全体の作業タスクを抽出して、これを見ながら進捗を説明、確認していくイメージになります。

image.png

・Delivery Plans

設定されているスプリントでepic、issueを時系列で表示できる機能になります。

image.png

Repos

GitHubと同じ機能が搭載され、一般的な操作がGUIから出来るようになっています。

・Files

リポジトリのブランチにあるファイルを変更出来ます。

image.png

・Commits

コミットしたファイルの差異を確認出来ます。

image.png

・Pushes

プッシュしたファイル操作の履歴が確認できます。

image.png

・Branches

ブランチの新規作成、セキュリティ管理の操作が行えます。

image.png

・Tags

ある地点にあるブランチのコミットにタグを付けて保存できる機能になります。

image.png

・Pull Requests

ブランチをマージする際にプルリクエストを作成します。
レビュアーの承認、プルリクエスト作成のメール送信、修正箇所のコメントが出来ます。

image.png

Pipelines

Microsoftのネットワーク内で仮想マシンが起動し、その中でパイプラインで設定された処理が実行されます。パイプラインにはビルドパイプライン、リリースパイプラインと分かれています。ビルドパイプラインではビルドに必要な処理を行い、アーティファクトと呼ばれるストレージに成果物を置きます。その後リリースパイプラインで実際の環境に反映していく流れとなります。

他のオプションとしてAzureに 自前の仮想マシン を用意し、必要なパッケージをインストールしセルフホステッドという形でその環境内で処理を実行させることも可能です。

・Pipelines

ビルドパイプラインと呼ばれる機能になります。
作成時にまず取得元リソースを選択します。

image.png

パイプラインの書き方はyaml形式で記入していきます。
詳細な記載は以下のリンクにあります。

image.png

クラシックバージョンも選択でき、画面からの操作で実装が可能です。
ここではパイプラインでPowerShellを実行するタスクを入れています。

image.png

実際にパイプラインを実行すると以下のエラーが発生する場合があります。

##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request

image.png

これは仮想マシンがマイニングで使用される恐れがあるため、Microsoftに使用申請が必要になりました。

以下から申請し、後日使用許可のメールが届きます。

image.png

エラーが無く、正常終了した場合は以下になります。

image.png

・Releases

リリースパイプラインと呼ばれるものになります。
ビルドパイプラインと実装は同じような形になります。

取得元のリソースから仮想マシン内に複製を行い処理を行います。
リリースパイプライン実行時にレビュアーを設定することことで、リリースパイプライン作成時メールが送信されレビュアーの承認を得られれば実行できるフローが作成できます。

image.png

・Library

ビルドパイプライン・リリースパイプラインで実行する際の共通するグループ変数を設定することが出来ます。

image.png

Test Plan

この機能は有料機能となり、通常表示項目は以下の画像となります。
お試しで30日間無料でも使用可能。

image.png

有料版だと以下の画像になります。

image.png

・Test plans

この機能ではTest Suites(テストケースのまとまり)を作成していきます。

image.png

作成からテストケースをそれぞれ作成します。

image.png

上記を作成後、実際のテストを行います。
2種類ありWebベース画面のアプリと、デスクトップアプリとしてインストールして行うものがあります。
キャプチャ機能やBoardsのWorkitemと紐づけることも可能です。

Webベース版
image.png

デスクトップアプリ版
image.png

・Progress report

テスト全体の進捗を確認出来る画面です。

image.png

・Parameters

他のテストケースと共通して使用できるパラメーターシートです。

image.png

・Configurations

テストで使用する環境の設定を行うことが出来ます。

image.png

・Runs

テスト結果について具体的なKPIを元に表示できる機能です。

image.png

Artifact

プロジェクト内でオリジナルのライブラリを作成した際に、プライベートで共有出来るサービスになります。容量は2GBまで無料で、ビルドパイプラインの成果物を配置する場所としても使用できます。

image.png

下記のパッケージ管理ソフトが対応しています。
・dotnet
・NuGet
・Visual Studio
・npm
・Maven
・Gradle
・pip
・twine
・universal Packages

「Connect to feed」を選択し、それぞれのパッケージの設定を行います。

image.png

全体図

全体の流れをまとめると下記のようになります。
image.png

アジャイル開発と非常に相性の良いツールであり、一定ではありますが無料で利用できるのも凄く嬉しいです。

参考にしたサイト様

これで以上となります。
見て下さりありがとうございました。

3
4
0

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
3
4