comcamp 2016 okayama vsts

75
Visual Studio Team Service スモールスタート 2016/02/20 ComCamp2016 powered by MVP 保住 匡範 貞松 政史

Upload: sadynitro

Post on 23-Jan-2018

295 views

Category:

Services


5 download

TRANSCRIPT

Page 1: Comcamp 2016 Okayama VSTS

Visual Studio Team Serviceスモールスタート

2016/02/20

ComCamp2016 powered by MVP

保住 匡範

貞松 政史

Page 2: Comcamp 2016 Okayama VSTS

保住 匡範@kiyokura

http://kiyokura.hateblo.jp/

住んでるところ大都会岡山

最近よく触ってるものTypeScript / knockout.js

AwardMicrosoft MVP for Visual Studio and Development Technologies

(2012.03 – 2016.03)

2

自己紹介

Page 3: Comcamp 2016 Okayama VSTS

貞松 政史@sady_nitro

http://sadynitro.hatenablog.jp/

住んでるところ大都会岡山

最近よく触ってるものSQLServer

3

自己紹介

Page 4: Comcamp 2016 Okayama VSTS

4

本資料並びにセッションでの発言は我々個人の調査や情報収集および実践に基づいて構成したものです

したがって所属企業やマイクロソフト等、私個人以外の如何なるものの意見を代表するものではありません

本セッションでの内容に起因して損害が生じた場合においても、発表者はその責任を負うことができません

免責事項

Page 5: Comcamp 2016 Okayama VSTS

5

Visual Studio Team Services(VSTS)について

• 基本的な機能や使い方

• VSTSを小さく始める方法(実際の導入事例を交えて)

• 外部サービス連携やアドオン等の便利な拡張機能

セッション概要

Page 6: Comcamp 2016 Okayama VSTS

6

• VSTSの概要

• VSTSを実際に導入した話

• 追加導入したい機能や拡張性について

• VSTS導入のメリットまとめ

• VSTSのネガティブ要素・課題

• セッションまとめ

アジェンダ

Page 7: Comcamp 2016 Okayama VSTS

VSTS概要

7

Page 8: Comcamp 2016 Okayama VSTS

VSTSの概要

VSTSとは?

•Team Foundation Server(TFS)のクラウドサービス

•定期的に最新のアップデートが適用される•TFSのアップデートを待たずして最新機能が利用できる•自分でメンテナンスしなくても良い•突然画面や機能の仕様が変わったりする

Page 9: Comcamp 2016 Okayama VSTS

9

VSTSの概要

プロジェクト管理ツールである

•ソースコードのバージョン管理をホスティングしているものという位置づけではない•チームプロジェクト単位で運用する

チームプロジェクトコレクション

チームプロジェクトA チームプロジェクトB

タスク管理

ソース管理

タスク管理

ソース管理

Page 10: Comcamp 2016 Okayama VSTS

10

VSTSの概要

統合的なプロジェクト管理

•非常に多機能•タスク管理•ソースコードのバージョン管理

•TeamFoundationバージョン管理(TFVC)or Git•Privateリポジトリ

•テストやバグのトラッキング•CI/CDツール

等々…

Page 11: Comcamp 2016 Okayama VSTS

11

VSTSの概要

ライセンス体系(料金体系)

•5ユーザーまで無料で利用可能(Basicライセンス)•Visual Studio/MSDN サブスクリプション保有者は無償で利用可能(Basicライセンスを消費しない)•WorkItem(タスク管理)のみ利用のユーザー(ステークホルダー)は無料で利用可能•ビルドやリリース、ロードテスト等の追加機能について無料枠を超える場合は別途料金が発生

Visual Studio Team Services の価格https://www.visualstudio.com/ja-jp/products/visual-studio-team-services-pricing-vs.aspx

Page 12: Comcamp 2016 Okayama VSTS

12

VSTSを導入する際にありがちなこと

VSTSを使ってみよう!

UIがすべて英語…

Page 13: Comcamp 2016 Okayama VSTS

13

VSTSを導入する際にありがちなこと

で、VSTSは何ができるんだろう?

Visual Studio Team Services Get Startedhttps://www.visualstudio.com/get-started/overview-of-get-started-tasks-vs

Page 14: Comcamp 2016 Okayama VSTS

14

VSTSを導入する際にありがちなこと

何から手を付ければいいのやら…

• タスク管理(Work)• イテレーション、スプリント• ユーザーストーリー、フィーチャー、バックログ、タスク• キャパシティ、ベロシティ• バーンアップ、バーンダウン

• ソース管理(Code)• Git or TFVC• コミットや変更セットとタスクとの関連付け• レビュー要求、Pull Request

• テストやバグのトラッキング(Test)• テストケース• バグトラッキング

• テストケースとバグの紐づけ• バグとコミットや変更セットの関連付け

• ロードテスト• CI/CDツール(Build, Release)

• ビルド構成(継続的インテグレーション, CI)• リリース構成(継続的デリバリー, CD)

Page 15: Comcamp 2016 Okayama VSTS

15

VSTSを導入する際にありがちなこと

じゃあ、とりあえずソース管理リポジトリだけ使ってみよう!

チームプロジェクト? プロセステンプレート?Agile? CMNI? Scrum?

Page 16: Comcamp 2016 Okayama VSTS

16

VSTSを導入する際にありがちなこと

Version ControlをGitでチームプロジェクトを作ったけど…

設定がよくわからない…

•リポジトリに接続するには…?•ユーザー(ライセンス)の設定は…?•権限の設定は…?•GitのCUIから接続したいんだけど…

Page 17: Comcamp 2016 Okayama VSTS

17

本セッションのターゲット

VSTSをよく知らない方

前述の概要が軒並み初耳

VSTSを使ってみようと思って挫けてしまった方

前述のケースの様に(それ以外でも)使ってみようと思って何かしら挫けてしまった

Page 18: Comcamp 2016 Okayama VSTS

18

• 実際に導入してみたユースケースをご紹介

• アジャイルに沿ってなくても大丈夫

• 全てを使いこなさなくても大丈夫

• ハマりそうな設定周りも解説

• VSTSを小さく始めてみましょう!

VSTSスモールスタート!

Page 19: Comcamp 2016 Okayama VSTS

VSTSを実際に導入した話

19

Page 20: Comcamp 2016 Okayama VSTS

20

•ソース管理リポジトリ(Git)

•タスク管理(Iteration, Sprint, Backlog, Task, Bug)

•Pull Request

•外部サービス連携(Service Hooks)

•ダッシュボード(ステータス, Wiki等)

至ってシンプル。

VSTSを実際に導入した話

実際に使用している機能

Page 21: Comcamp 2016 Okayama VSTS

21

業務系システムの新規開発案件

ASP.NET MVCを採用したWebアプリケーション

とりあえずソース管理をVSTS(当時はVSO)上の

Gitでやってみようという話に

VSTSを実際に導入した話

導入の経緯

Page 22: Comcamp 2016 Okayama VSTS

22

チームプロジェクトのソース管理に

Gitを選択

まず、モック作成用のリポジトリを作成

VSTSを実際に導入した話

ソース管理リポジトリ

Mock01

了解です

とりあえずこれで

Page 23: Comcamp 2016 Okayama VSTS

23

Mockを幾つか作って壊してした後、プロジェクトの

本番リポジトリを作成

VSTSを実際に導入した話

ソース管理リポジトリ

Mock04 ProjectMasterMock01

Page 24: Comcamp 2016 Okayama VSTS

24

Webアプリのリポジトリとは別でDBプロジェクトや

クライアントアプリバッチプログラム等々…

VSTSを実際に導入した話

ソース管理リポジトリ

ProjectMaster ProjectSql

ProjectClient ProjectBatch

追加料金なし!

Page 25: Comcamp 2016 Okayama VSTS

25

プロセステンプレートはとりあえず「Scrum」を選択

• Iteration(Sprint)

•Feature

•Backlog

•Task

•Bug

VSTSを実際に導入した話

タスク管理(プロセステンプレート)

毎度よくわからんのです…

Page 26: Comcamp 2016 Okayama VSTS

26

リリース単位でIterationを切ってみる

Iteration内のSprintは2週間を1単位として区切る

VSTSを実際に導入した話

タスク管理(Iteration)

Page 27: Comcamp 2016 Okayama VSTS

27

現在のSprintに対してBacklog(要件)を列挙して

Taskに分解する

VSTSを実際に導入した話

タスク管理(Backlog, Task)

Page 28: Comcamp 2016 Okayama VSTS

28

GitのコミットとTaskを紐付ける

VSのチームエクスプローラー上で

操作可能

VSTSを実際に導入した話

タスク管理(Task, Commit)

Page 29: Comcamp 2016 Okayama VSTS

29

VSTSを実際に導入した話

タスク管理

Taskの画面からリンクされたコミットを確認できる

Page 30: Comcamp 2016 Okayama VSTS

30

VSTSを実際に導入した話

タスク管理

カンバンボードでタスクを一覧

ドラッグ&ドロップでアサインやステータスを変更できる

Page 31: Comcamp 2016 Okayama VSTS

31

VSTSを実際に導入した話

ここまで使ってみて

•とりあえずプロジェクトのソース一式管理できる

•カンバンボードならユーザーベース、アイテムベースでタスクのステータスを一覧できる

•コミットとタスクが紐付いているので、ある要件がどのコミットで対応されたかトラッキングできる

カンバンボード最高!

Page 32: Comcamp 2016 Okayama VSTS

32

VSTSを実際に導入した話

待望のPull Request機能追加!

ありがたやー!

Pull Request来ましたよ!

Page 33: Comcamp 2016 Okayama VSTS

33

VSTSを実際に導入した話

Pull Requestが追加になって…

【追加前】

修正後に声掛け→ブランチをプルしてレビュー

→OKなら再度声掛け→手元でマージ・プッシュ

【追加後】

修正後にプルリク作成

→指定されたレビュアーがWeb画面上でコードレビュー

→OKならWeb画面上でマージ

Page 34: Comcamp 2016 Okayama VSTS

34

VSTSを実際に導入した話

コードレビューのサイクルが文化的に!

…なったと思ったんですが

なんか惜しい。

見ますー

プルリク投げましたー

Page 35: Comcamp 2016 Okayama VSTS

35

Pull Requestが作られたり、コミットがプッシュされたことに

気付かない…

何か通知を飛ばせる仕組みは無いだろうかと考える

VSTSを実際に導入した話

通知が欲しい…

Page 36: Comcamp 2016 Okayama VSTS

36

VSTSビルトインのチームチャット機能

元々上位のライセンスでしか使えなかった

デスクトップ通知がない

ビルトインなだけあってVSTS内の

アイテムとリンクはし易い

VSTSを実際に導入した話

Team Room

他当たってみよう

Page 37: Comcamp 2016 Okayama VSTS

37

外部のサービスと連携できる仕組み(Service Hooks)

なるものがあるらしい

VSTSを実際に導入した話

外部サービス連携(Service Hooks)

これで通知を飛ばしてみよう

Page 38: Comcamp 2016 Okayama VSTS

38

連携可能なサービスとフックできる

イベントが色々ある模様

VSTSを実際に導入した話

外部サービス連携(Service Hooks)

Page 39: Comcamp 2016 Okayama VSTS

39

HipChatと連携してみた

VSTSを実際に導入した話

外部サービス連携(Service Hooks)

Page 40: Comcamp 2016 Okayama VSTS

40

VSTSを実際に導入した話

外部サービス連携(Service Hooks)

通知が飛ばせるようになった(デスクトップ通知も)

Page 41: Comcamp 2016 Okayama VSTS

41

Slackに乗り換えてみた

VSTSを実際に導入した話

外部サービス連携(Service Hooks)

Page 42: Comcamp 2016 Okayama VSTS

42

VSTSを実際に導入した話

外部サービス連携(Service Hooks)

情報が詳細かつ見易くなった

これでプルリクが捗る

Page 43: Comcamp 2016 Okayama VSTS

43

カスタマイズ可能なダッシュボードの機能が追加に

元々のHome画面は非常にショボかったので

早速カスタマイズしてみることに

VSTSを実際に導入した話

ホーム画面が拡張

Page 44: Comcamp 2016 Okayama VSTS

44

VSTSを実際に導入した話

ダッシュボード機能

タスクの状態やPull Requestの状況が一覧できる

Page 45: Comcamp 2016 Okayama VSTS

45

VSTSを実際に導入した話

Markdownパネルが良さそう

Markdownパネルだけをひたすら並べたボードを一つ用意

Wikiページとして利用可能

Page 46: Comcamp 2016 Okayama VSTS

46

VSTSを実際に導入した話

ここまで使ってみて

•Pull Request機能が追加になったことでコードレビューのサイクルが上手く回るようになった

•外部サービスと連携することでチーム内のレスポンスが良くなった

•ダッシュボード機能が追加になり、よりチームコラボレーションのツールとして使いやすくなった

プルリクと通知は無いと始まらない

Page 47: Comcamp 2016 Okayama VSTS

47

• ユーザー管理について

• ユーザーとチームメンバーの違い- ユーザー

- VSTSのドメイン全体に属するユーザー

- チームメンバー

- ユーザーの内、あるチームプロジェクトに属するメンバー

VSTSを実際に導入した話

ハマりやすそうなポイント(1)

Page 48: Comcamp 2016 Okayama VSTS

48

ユーザー管理

VSTSを実際に導入した話

ハマりやすそうなポイント(1)

Page 49: Comcamp 2016 Okayama VSTS

49

ライセンスの種類や割り当てについて

VSTSを実際に導入した話

ハマりやすそうなポイント(1)

Page 50: Comcamp 2016 Okayama VSTS

50

権限設定

権限付与の単位• ユーザー

• チームメンバー

• グループ

実際に使わせたい機能と権限の文言のわかりにくさ• コード閲覧はさせたい

• 特定のリポジトリの参照はさせたい

• リポジトリの編集(コミット・プッシュ)もさせたい

VSTSを実際に導入した話

ハマりやすそうなポイント(2)

Page 51: Comcamp 2016 Okayama VSTS

51

権限設定

デザイナーさんにデザイン用のリポジトリを用意して

そこだけ参照・編集してもらおうとした

VSTSを実際に導入した話

ハマりやすそうなポイント(2)

準備しました!

見れないですねー

デザイナーさん

Page 52: Comcamp 2016 Okayama VSTS

52

VSTSを実際に導入した話

ハマりやすそうなポイント(2)

Seculityタブ権限設定はココ

実はリポジトリに対する権限設定はVersionControlタブ

Page 53: Comcamp 2016 Okayama VSTS

53

認証周り

GitのCUIからリポジトリを操作したい

Basic認証の設定

VSTSを実際に導入した話

ハマりやすそうなポイント(3)

Page 54: Comcamp 2016 Okayama VSTS

54

認証周り

毎回認証を求められる(パスワード入力)が面倒…

Git Credential Managerの導入

VSTSを実際に導入した話

ハマりやすそうなポイント(3)

Git Credential Managerhttps://github.com/Microsoft/Git-Credential-Manager-for-Windows

Page 55: Comcamp 2016 Okayama VSTS

55

VSTSを実際に導入した話

Git Credential Manager

Page 56: Comcamp 2016 Okayama VSTS

56

Personal access tokens

2016のQ1でSSH認証が導入される予定

VSTSを実際に導入した話

認証に関するアップデート

Page 57: Comcamp 2016 Okayama VSTS

追加導入したい機能や拡張性について

57

Page 58: Comcamp 2016 Okayama VSTS

58

追加導入したい機能

ビルドツール

• 自動ビルドとユニットテストの定義

• ブランチに対するプッシュ毎に実行(CI)

Page 59: Comcamp 2016 Okayama VSTS

59

• サービスフック

• Web API

• Extension

VSTSの拡張性

VSTSに用意されている拡張・外部連携の手段

Page 60: Comcamp 2016 Okayama VSTS

60

• 複数のメジャーなサービスに対応

• 自作のサービスへの連携を組み込むことが可能• JSONでPOSTされるデータを受信できるWeb APIを

用意すればOK

• 言語や実行環境は問いません

• インターネットからアクセスできるWebサーバさえあれば

VSTSの拡張性

サービスフック - from VSTS to Other -

Page 61: Comcamp 2016 Okayama VSTS

61

VSTSの拡張性

サービスフック - from VSTS to Other -

リファレンスはこのあたりから(英語)https://www.visualstudio.com/integrate/get-started/service-hooks/create-subscription

ASP.NET の場合、「ASP.NET WebHooks」というフレームワークが最近登場したのでそれを使うとさらに楽に作れるかも

Azure Web AppsとASP.NETでサクッと試してみた例http://kiyokura.hateblo.jp/entry/2014/12/24/223458

Page 62: Comcamp 2016 Okayama VSTS

62

• Visual Studio Team Servicesの機能にREST APIを使ってアクセス可能

• 認証は OAuth 2.0 か BASIC認証• 現時点ではOAuthはWebアプリのみで利用可能

• 非WebアプリはBASIC認証のみ

• BASIC認証では利用できないAPIがある

• AccountsとProfiles

VSTSの拡張性

Web API - from Other to VSTS -

Page 63: Comcamp 2016 Okayama VSTS

63

• リファレンスはそれなりにしっかりしてる感https://www.visualstudio.com/en-us/integrate/get-started/rest/basics

• 認証系の話も丁寧に書かれている(ただし英語)

• たどれるところにサンプルも

VSTSの拡張性

Web API - from Other to VSTS -

Page 64: Comcamp 2016 Okayama VSTS

64

• VSTSにインストールできる拡張機能

• ギャラリーからインストール

https://marketplace.visualstudio.com/#VSTS

VSTSの拡張性

Extension - Add on VSTS -

Page 65: Comcamp 2016 Okayama VSTS

65

• 自作可能• ドキュメントとサンプル

https://www.visualstudio.com/integrate/extensions/overview

• もちろん英語のみ

• チュートリアルやサンプルはそこそこ充実している

• ただしAPIリファレンスはまだ頼りない

• 何でもメールで気軽に聞いて!って書いてあるのでメールで聞きましょう()

https://www.visualstudio.com/en-us/integrate/extensions/support/help

VSTSの拡張性

Extension - Add on VSTS -

Page 66: Comcamp 2016 Okayama VSTS

VSTS導入のメリットまとめ

66

Page 67: Comcamp 2016 Okayama VSTS

67

• 自力で面倒を見なくていいPrivateなソース管理リポジトリを手に入れた

• ザックリとイテレーションとスプリントを切ることで進捗が把握しやすくなった

VSTS導入のメリットまとめ

Page 68: Comcamp 2016 Okayama VSTS

68

• バックログ、タスク、コミット、プルリクなどそれぞれが紐づいているので要件や作業ベースから変更を追いかけたり切り戻したりできるようになった

• 外部サービスによる通知機能で各自の作業状態を把握しやすくなりレスポンスも良くなった

VSTS導入のメリットまとめ

Page 69: Comcamp 2016 Okayama VSTS

VSTSのネガティブ要素・課題

69

Page 70: Comcamp 2016 Okayama VSTS

70

アクセスする人全員にライセンスが必要

ステークホルダーであれば無料でワークアイテムを参照できる

コードにアクセスする場合はBasic等のライセンスを

付与する必要がある

諸々事情を踏まえて結果的にRedmineと併用中

VSTSの不満な点・課題

Page 71: Comcamp 2016 Okayama VSTS

71

OSSのプロジェクトで使いたい

→ソース管理リポジトリがPrivate、かつライセンスが

必要なので不特定多数に公開するのは困難

→GitHubやBitbucket使いましょう

VSTSの不満な点・課題

Page 72: Comcamp 2016 Okayama VSTS

72

GitHubと同じことがやりたい

→GitHub使いましょう

VSTSの不満な点・課題

Page 73: Comcamp 2016 Okayama VSTS

セッションまとめ

73

Page 74: Comcamp 2016 Okayama VSTS

74

VSTSは非常に多機能なプロジェクト管理用クラウドサービス

必要な機能は一通り揃っていて、さらに拡張性もある

実際に導入してみた限り、全てを使いこなさなくても

メリットは得られる

VSTSが合わないケースもある

イイトコ取りしていけばいいと思う

セッションまとめ

Page 75: Comcamp 2016 Okayama VSTS

75

Visual Studio Team Services

小さくはじめてみましょう!

セッションまとめ