kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Visual Studio Team Services初期設定をするその1(2日目)

Azure ADのユーザー管理

f:id:kkamegawa:20161201204002p:plain

Azureポータルに組織アカウントでログインすると、ユーザーやグループを作成することができます。ここで作成したグループはそのままVSTSのグループとして使用できます。

  • VSTS用グループを作成
  • Azure ADにユーザー登録&グループ登録

という流れになります。小規模な環境であればポータルでやるのもいいですが、大きなところになればPowerShellなどで自動化を検討しましょう。

f:id:kkamegawa:20161201204003p:plain

Azure ADで作ったグループはVSTSのチームにアクセスするグループとしてそのまま使えます。

ユーザー管理

f:id:kkamegawa:20161201203949p:plain

VSTSを使用するユーザーはアカウントトップページにあるUsersから登録します。MSアカウントを使っている場合、ここでMSアカウントを選択しますが、組織アカウントを使っている場合、Azure ADのユーザーをそのまま追加できます。

azure.microsoft.com

登録したユーザーは何らかのライセンスを割り当てる必要があります。大雑把に分けて、無料で使えるアカウント、有料の一時払いと年払いという区分けです。

無料アカウント(Stakeholder)

お客様などの進捗のみ管理したい場合に割り当てます。無料でカンバンやタスクの優先順位変更のみできます。ビルドやテストの機能は一切ありません。

Basic(5人まで無料)

コードのチェックインなどの基本的な機能は使えます。6人目からは有料です。テスト機能は使えません。

Visual Studioサブスクリプション

ProfessionalかEnterpriseかによって多少違います。また、Azureの料金と一緒に月額払いすることもできるので、一時的に開発メンバーを増やしたいというときに非常に便利です(特に日本のSIer)。

Enterpriseのライセンス数に比例してビルドパイプラインの並列数が増えます(既定で1ライセンス付属)。

アカウントセキュリティ設定

f:id:kkamegawa:20161201203948p:plain

アカウントごとに設定します。タイムゾーン、URL、認証設定、外部アカウント(MSアカウントなど)のアクセスを許可するか、という点です。

Alternate authenticationは個別のIDとパスワードを指定してVSTSの認証を行うための機能ですが、セキュリティ上可能であれば無効にすることをお勧めします。今はPAT(Personal Access Token)やSSHでの認証ができるようになったので、必要性が低下しました。

チーム初期設定

f:id:kkamegawa:20161202060358p:plain

Overviewでチームの初期設定ができます。プロセスや詳細を確認できるほか、"New Item"をクリックすると、プロジェクトチームの中にさらにサブチームを作ることができます。

f:id:kkamegawa:20161202060359p:plain

チーム名とわかりやすい説明を指定します。そして、プロジェクト内での権限を設定します。Contributorsはコードの読み書き権があります。Readersであれば読み取りという権限が設定されています。

もちろん、ほかの権限を作ることもできます。Create an area path with the name of the teamをチェックしていれば、そのチーム用のarea pathが構築されます(後述)。

f:id:kkamegawa:20161201203950p:plain

WorkタブにあるIteration(イテレーション)とAreaを設定します。イテレーションはスクラムのスプリントと考えてください。メニューはAgileの用語が基本のようなので、こういうところがちょいちょいありますが、気にしないでください。

f:id:kkamegawa:20161201203951p:plain

Start DateとEnd Dateを設定します。3週間とか一か月とかの期間を設定します。最初にプロジェクトの終了までの期間を設定しています。今回はAdvent Calendarのデモ用途なので一か月というありえない工程組んでいますが、こんな短くしないようにしましょう(^^;。

f:id:kkamegawa:20161201203952p:plain

スプリントを一週間で同じように設定しています。この設定はカンバン(Board)の挙動に影響します。

個人的なおすすめはスプリントの下にさらにスプリントという階層を付けないことです。例えば2016年度というスプリントを作って、2016年1月とか2016年2月という孫階層まで作ると、後の操作が結構大変になります。

親子までにしておきましょう。

f:id:kkamegawa:20161201203954p:plain

次はAreaを設定します。これは実際にどんな仕組みを作るか、という種類分けにしておきます。とはいえ、アプリケーションのdllやexe単位にすると細かすぎます。例えば、バッチとか、Webサーバーとか、アプリケーションをデプロイする場所に対応させるとやりやすいかと思います。

最初はざっくりと、必要に応じて詳細な孫階層を作ればいいと思います。すでに割り当てたタスクを変更もできますよ。

f:id:kkamegawa:20161201203955p:plain

…をクリックすると、孫階層やアクセスするセキュリティの設定もできます。チーム内にさらにサブチームを作り、例えばWebフロントのみ担当するチームというセキュリティ設定もできます。

f:id:kkamegawa:20161201203956p:plain

セキュリティ設定ではどのグループにどんな権限を割り当てるか設定できます。最初は変更する必要ないでしょう。

Contributorsはコードの変更権限がある、Readersは読み取りのみです。

通知設定

f:id:kkamegawa:20161201203957p:plain

VSTSでは各種条件に一致した場合、メール通知させることができます。初期設定ではコードレビュー依頼のみですが、個人的なおすすめを紹介します。

f:id:kkamegawa:20161201203958p:plain

チーム全員に設定されるTeam Alertと自分のみのMy Alertの二種類選択できます。Newをクリックして、Team AlertのWork ItemからA work item is assigned me(私にタスクが割り当てられた)を選択して、OKをクリックします。

f:id:kkamegawa:20161201203959p:plain

これで問題なければOKをクリックします。これでチームメンバーの誰かにタスクが割り当てられたときに割り当てられた人に対してメール通知が行われます。

アイテム保持ポリシー

f:id:kkamegawa:20161201204000p:plain

Testをクリックして、Retantionでテスト実行後何日間保持しておくかという設定をします。既定で30日です。

まとめ

これで最低限のチーム準備ができました。Azure ADにユーザーとグループを登録しておけば、自動的にVSTS側に反映されます。

また、今後出てきますが、Azure ADに登録したAzureサブスクリプションに対してデプロイを行うことや、Power BI, Teamsなどとの連携も可能になっています。

Azure ADを中心とした連携は非常に便利なので、ぜひ使ってみてください。