agenda - info.microsoft.com · agenda • visual studio team services とazure...

20

Upload: others

Post on 04-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト
Page 2: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

Agenda

• Visual Studio Team Services と Azure サブスクリプションの連携

• ビルド機能とリリース機能の使い分け

• 負荷テスト

• 環境ごとに接続文字列を変更するには

• ビルドマシンの選択

• 変数 (Variable) の活用

• Azure 仮想マシンへのデプロイ 事前準備

• Test Agent 2

Page 3: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

Visual Studio Team Services

ソースコードをコピー

Azure

ソース

コード

デプロイ先ビルドマシン

成果物

3

レシピ 1Azure Web Apps アプリのビルド・テスト・リリース

Visual Studio Team Services

成果物

ビルドデプロイ

Azure

ソース

コードStaging

本番

Page 4: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

Azure サブスクリプションとの連携

4

Azure Service Principal を発行して、Visual Studio Team Services に登録• Azure Service Principal の発行権限があるかを事前に要確認

ポータルで発行

https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-create-service-principal-portal

PowerShell で発行

https://github.com/Microsoft/vsts-rm-documentation/blob/master/Azure/SPNCreation.ps1

Page 5: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

ビルド機能とリリース機能の使い分け

5

• デプロイの手前まで “ビルド”, デプロイ & その後は “リリース”

ビルド機能 リリース機能

ビルドタスク 共通

エージェント 共通

ソースコードの取得 ○ ○

Artifact の取得 ○

ゲートチェックイン ○

ブランチポリシー ○

承認 ○

パイプライン処理 ○

並列実行 ○

変数グループ ○

Page 6: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

Azure リソースを使用した負荷テスト

• 単純負荷テストとVisual Studio で作成したシナリオ実行の負荷テスト

• Visual Studio Team Services のビルド・リリースの一環として実行可能- 平均応答時間を設定して、テストの成否を判断させることも可能

6

Page 7: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

• ConnectionString 等、デプロイ環境ごとに値を変更する場合、リリース管理で「Azure App Service Deploy」Ver. 3 を使用

• Web Apps のアプリケーション設定に格納する方法も

接続文字列を環境ごとに変更

7

Page 8: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

8

レシピ 2

Visual Studio Team Services

ソースコードをコピー

Azure

ソース

コード

デプロイ先ビルドマシン

成果物

Page 9: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

ビルドマシンの選択 (1)

9

• マイクロソフト提供のビルドマシン “Hosted Agent”

• Hosted Agent は 3種類• Hosted 基本はこちらを使用

• Hosted VS 2017 Visual Studio 2017 / .NET Core 専用

• Hosted Linux Preview• 詳細: https://www.visualstudio.com/en-us/docs/build/concepts/agents/hosted

• 自前のビルマシンを用意した方がいい場合• Hosted Agent にないビルド環境を使用

• 環境固定したい場合

• イントラネットの環境へのデプロイを行う場合

Page 10: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

ビルドマシンの選択 (2)

10

• 無料枠あり(Hosted Agent も自前のビルドマシンも)

• Hosted Agent の時間は、ビルド&リリース機能使用分の合計

Visual Studio Team Services 料金詳細https://azure.microsoft.com/ja-jp/pricing/details/visual-studio-team-services/

Hosted Agent を利用する場合

無料のパイプライン: 最大 240 分*単一ジョブの最大実行時間 30 分

無料

有料のパイプライン*単一ジョブの最大実行時間 360 分

4,080円 /パイプライン

自前のビルドサーバーを利用する場合

最初の1 つ目 無料

2 つ目以降1,530円 /

パイプライン

* アクティブな Visual Studio Enterprise サブスクリプションあたり 1 パイプライン無料

* 2017年10月31日時点

Page 11: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

ビルドマシンの選択 (3)

11

自前のビルドマシンとの接続方法1. エージェントをビルドマシンにダウンロード

2. Visual Studio Team Services のアクセストークンを発行

3. ビルドマシン上でエージェントの設定コマンドを実行

2

3

1

Page 12: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

変数 (Variable) の活用

12

• 自動化の必須項目 “定義済みの変数”

• ビルド: https://www.visualstudio.com/en-us/docs/build/define/variables

• リリース管理: https://www.visualstudio.com/en-us/docs/build/concepts/definitions/release/variables

• ユーザー定義変数• スクリプト内での変数の定義や変更が可能

• 変数グループ• ユーザー定義変数をグループ化して利用。リリース管理のみ可

Page 13: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

• 事前準備 (デプロイ先が Windows 環境の場合)

• ビルドマシンとデプロイ先マシンをイントラネット内に配置

• ビルドマシンからデプロイ先マシンへのPowerShell のリモート実行ができることを確認• Windows 7 の場合、WMF をインストールして PowerShell 4.0 以上推奨

Azure 仮想マシンへのデプロイ 事前準備

13

Page 14: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

Test Agent

• Test Agent の自動インストール & 設定をビルドタスクとして用意

14

Test Agent のインストール Test Agent によるテスト実行

Page 15: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

15

まとめ

Page 16: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

まとめ

16

Visual Studio Team Services で Azure アプリケーションのビルド・テスト・デプロイ自動化で業務効率化実現を!

Page 17: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

Visual Studio

Visual Studio for Mac

Visual Studio Code

Visual Studio Mobile Center

Visual Studio Team Services

Page 18: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

18

https://azure.microsoft.com/ja-jp/free/

Page 19: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト

自分の目と手で試しましょう!

19

ビデオで過去の

ウェブセミナーを視聴する▶▶▶ http://aka.ms/dx-ondemand

セミナー・ウェブセミナーに参加する ▶▶▶ https://aka.ms/azjp-events

Azure の活用を

電話で相談する▶▶▶

0120-952-593

または

お問い合わせフォーム

https://aka.ms/adj

対面で Azure の活用を相談する

Azure 相談窓口▶▶▶

Azure Antenna (渋谷)

月~金午前中および

特設イベントがない月曜日午後

相談窓口 (名古屋)

Page 20: Agenda - info.microsoft.com · Agenda • Visual Studio Team Services とAzure サブスクリプションの連携 • ビルド機能とリリース機能の使い分け • 負荷テスト