kkamegawa's weblog

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

Visual Studio Team Servicesの高度な初期設定をする(3日目)

はじめに

昨日で初期設定は終わったみたいなことを書きましたが、今日は応用編の初期設定を紹介します。やってもやらなくても構いませんが、慣れたらやってみましょう。

アカウントのトップページの歯車アイコンからテナント全体の設定ができます。この操作はadminアカウント(初期ではテナントを作ったアカウント)のユーザーのみ操作することができます。

チームプロジェクトを追加する

f:id:kkamegawa:20161202211355p:plain

Overviewハブからチームプロジェクトが作成できます。New team projectをクリックします。

f:id:kkamegawa:20161202211356p:plain

プロジェクト名、説明、プロセステンプレート、バージョン管理システムを選択します。初期値がAgileになっていますが、プロセステンプレートはCMMIやScrumを初期値にできます。

セキュリティ設定

f:id:kkamegawa:20161202211357p:plain

Securityハブではグループの構築ができます。Create groupでグループを追加します。ここではテナント全体に影響するセキュリティを設定するので、不要な権限を追加しないように注意してください。初期値のままで問題ないでしょう。

f:id:kkamegawa:20161202211358p:plain

Azure ADで作られたセキュリティグループをそのまま特定の権限として追加できます。Azure AD側のグループから削除したメンバーはそのままセキュリティもなくなります。

新しいプロセステンプレートを作る

Scrum,Agile,CMMIといったプロセステンプレートが用意されていますが、ほんのちょっとこの項目がほしいとか、用語を自分たちのプロセスに合わせたいという要望は非常によくあります。

VSTSではProcessハブから既存のテンプレートを流用してあたらしいプロセスを作り出せます。

f:id:kkamegawa:20161202211359p:plain

Scrumを継承して新しいテンプレートを作ります。…をクリックして、Create inherited processをクリックします。なお、ここでSet as default processをクリックすると、既定のプロセステンプレートがAgileからScrumになります。

必ずScrumでチームプロジェクトを作る場合、ここで変えておきましょう。

f:id:kkamegawa:20161202211400p:plain

継承するプロセステンプレート名を決めます。ここでは単純にInheritScrumにします。Create Processをクリックします。

f:id:kkamegawa:20161202211401p:plain

Createをクリックすると、テンプレートの編集が始まります。結構手間がかかるので、やりたいことを決めておきましょう。

f:id:kkamegawa:20161202211402p:plain

新しいプロセスの概要が表示されます。Users can…は既存のプロジェクトをこのテンプレートで置換できるようにするというオプションです。

f:id:kkamegawa:20161202211403p:plain

Scrumテンプレートそのままでは解決するかどうかわからない課題みたいなものを管理するために、新しい区分"Problem"を作ってみます。もちろん日本語に直しても問題ありません。

色は既存の色とかぶらない色を指定してください。カンバン上で色がついてわかりやすくなります。Createをクリックすると作成されます。

f:id:kkamegawa:20161202211404p:plain

layoutではProblemを登録するときに表示するWebフォームを構築します。フィールド、グループ、ページを使って、データを登録するためのフォームレイアウトを作ります。

ここでは既存のフィールドから選択します。Due date(対応日でしょうか)を選んでみます。

f:id:kkamegawa:20161202211405p:plain

Optionsではこの項目が必須かどうか、日付であれば規定日付を指定します。これで問題なければAdd fieldをクリックすれば入力フォーム上に表示されます。

f:id:kkamegawa:20161202211406p:plain

Fieldsにはこの項目で使えるフィールドの一覧が表示されます。もちろん新しいフィールドを作ることもできます。これらのフィールドはJavaScriptのAPIで使うこともできるようです。

f:id:kkamegawa:20161202211407p:plain

Statusを設定します。初期値、処理中、完了から該当するステータスを選択します。New Statusから新しい状態を追加することもできます。

f:id:kkamegawa:20161202211408p:plain

最初から登録されている不要なステータスは削除します。

f:id:kkamegawa:20161202211409p:plain

名前に対応するステータスを選択します。

f:id:kkamegawa:20161202211410p:plain

登録済みのステータスからプロセスにふさわしい用語を選択します。

f:id:kkamegawa:20161202211411p:plain

backlogのカンバンに表示するかどうかという選択です。

f:id:kkamegawa:20161202211413p:plain

もちろん、既存のフォームにもフィールドを追加できます。同じようにDue Dateを追加します。

f:id:kkamegawa:20161202211414p:plain

Due Dateは必須にします。

f:id:kkamegawa:20161202211415p:plain

Webフォームのどこに配置するかという設定です。ここでは既存のDetailsというグループ内に追加します。

f:id:kkamegawa:20161202211416p:plain

作ったけど不要になったフィールドはここで削除できます。もちろんテンプレート組み込みのフィールドを削除することはできません。

f:id:kkamegawa:20161202211417p:plain

作ったプロセステンプレートのセキュリティを設定します。

ビルド設定

f:id:kkamegawa:20161202211418p:plain

ビルドパイプラインの並列度を指定します。既定で並列なしのエージェントしか使えません。増やすにはCharge purchased qualityをクリックして、marketplaceから購入します。

f:id:kkamegawa:20161202211419p:plain

ここでBuyをクリックすると増やせます。Visual Studio Enterpriseサブスクリプションを持っているユーザーが増えれば増えるはずです。

f:id:kkamegawa:20161202211421p:plain

エージェントプールを構築します。プールはいくらでも作れます。エージェントの実行OSやインストールソフトで作成する、並列度に応じて変えるという方針でやりましょう。ローカルエージェントを構築するには、Download agentをクリックします。

f:id:kkamegawa:20161202211420p:plain

エージェントのダウンロードURLとインストール方法が表示されます。ローカルエージェントを実行するには.NET Coreをインストールしておく必要があります。

f:id:kkamegawa:20161202211422p:plain

エージェントプールはわかりやすい名前にしましょう。ここではmacOS用ということで、macAgentにします。あとはエージェントをインストールすれば、このエージェントプールに表示されます。

拡張機能

VSTSに拡張機能を追加することで、機能拡張ができます。最初は何も入っていません。

f:id:kkamegawa:20161202211423p:plain

Browse Marketplaceをクリックすると、Marketplaceが表示されます。いろいろありますが、最近追加された、Work Item Searchを追加しましょう。これを追加すると、Work Itemで日本語検索ができるようになるので便利です。

f:id:kkamegawa:20161202211424p:plain

Installをクリックします。ちなみにTFSとも共通で使える拡張機能もありますが、Work Item SearchはSQL ServerにWord breakerを追加すれば大体同じ機能が使えます。

f:id:kkamegawa:20161202211425p:plain

インストールするテナント(Account)を選択します。Confirmをクリックします。

f:id:kkamegawa:20161202211426p:plain

追加できればCloseをクリックします。

f:id:kkamegawa:20161202211427p:plain

Work Item Searchが追加されました!

f:id:kkamegawa:20161202211428p:plain

不要になった場合、Uninstallをクリックします。一時的に無効にしたい場合はDisableをクリックします。

f:id:kkamegawa:20161202211431p:plain

ブラウザをリロードすれば、上にWork Item Searchの検索ボックスが表示されます。

f:id:kkamegawa:20161202211432p:plain

a: 名前でアサインされた人のアイテムが検索できます。便利になりました。

性能

VSTSを多くのユーザーで共有している場合、負荷がかかると、一時的に性能低下することがあります。Usageハブでアクセス履歴と、性能低下状態の確認ができます。

f:id:kkamegawa:20161202223002p:plain

アクセス履歴ですね。

f:id:kkamegawa:20161202211430p:plain

もしも遅くなった操作がある場合、ここに表示されます。リクエストのキャンセルではなく、遅延になるそうです。しばらく待てば遅延のペナルティは復帰するとのことです。

まとめ

最初は使わなくても構わない設定ばかりですが、高度に使いこなそうとすると、必要になる設定を紹介しました。VSTSを活用していく場合、ぜひ使ってみてください。