• 検索結果がありません。

スピーカースライド作成前の確認シート例

N/A
N/A
Protected

Academic year: 2021

シェア "スピーカースライド作成前の確認シート例"

Copied!
27
0
0

読み込み中.... (全文を見る)

全文

(1)

Azure DevOps Projects にも役立つ!

Visual Studio Team Services (VSTS) /

Team Foundation Server (TFS)

ビルド&リリース機能の仕組みを解説

(2)

セッション概要

2

• VSTS / TFS 上での CI / CD パイプライン構築に役立つ

ノウハウや考え方をご紹介します。

• Build 2018 でアナウンスされたアップデートも紹介

Visual Studio Team Services

(3)

Agenda

ビルド機能とリリース機能を使ったCI/CD 王道パターン

エージェントの挙動解説

エラー発生時の対処指針

(4)

お願い

4

セッションスライドのダウンロード先

https://decode18.blob.core.windows.net/ad27/AD27.pptx

シャッター音はご遠慮ください

ご理解・ご協力よろしくお願いします!

(5)

ビルド機能とリリース機能を使った

CI/CD 王道パターン

(6)

構成例 (1)

ASP.NET アプリを Azure Web Apps + SQL Database にデプロイ

6

ビルド機能 リリース機能

(7)

構成例 (2)

Java アプリを Web Apps for Containers にデプロイ

7

ビルド機能 リリース機能

(8)

王道構成

成果物発行までをビルド機能、それ以降をリリース機能で構成 8 外部 Git GitHub Enterprise Subversion GitHub * Bitbucket Cloud * VSTS/TFS TFVC Git リポジトリ ビルド機能 リリース機能 * VSTS のみサポート VSTS / TFS 外部サービス

(9)

王道構成の背景

成果物に関する機能は、ビルド機能とリリース機能で棲み分け 9 ビルド機能 リリース機能 エージェント 共通 タスク 変数グループ 定義済み変数・テンプレート ビルド専用 リリース専用 ソースコードの取得 ○ △ ソースコード品質チェック ○ 成果物の発行 ○ 成果物の取得 ○ ワークフロー(承認など) ○

(10)

”成果物発行” タスク

• ビルドの一番最後での実行を推奨

• ビルド機能のみ有効。リリース機能ではエラーとなる

• 外部サービスに成果物発行する場合は使用しない

(11)

成果物の取得

• VSTS / TFS • ビルド実行 • TFVC / Git • Package Management • 外部サービス • Jenkins • GitHub

• Azure Container Registry • Docker Hub

(12)

ビルド機能とリリース機能は同じ実行基盤

自由度が高すぎるパイプライン作成が可能になっている 12 ビルド機能 リリース機能 エージェント 共通 タスク 変数グループ 定義済み変数・テンプレート ビルド専用 リリース専用 ソースコードの取得 ○ △ ソースコード品質チェック ○ 成果物の発行 ○ 成果物の取得 ○ ワークフロー(承認など) ○

(13)

ビルド機能だけで CI/CD 構成はだめなのか?

• リリース機能のみ利用可能なワークフロー • 承認 • パイプライン処理(環境の並行実行含む) • リリースゲート: デプロイ後の環境での評価が可能 13

(14)

リリース機能だけで CI/CD 構成はだめなのか?

• 定義済み変数がビルド機能とリリース機能で異なる • ビルド機能で利用可能な以下テンプレートが使用不可 14 .NET デスクトップ ASP.NET ASP.NET Core

ASP.NET Core (.NET Framework) Universal Windows Platform

コンテナー コンテナー付きの ASP.NET Android Xamarin.Android Xamarin.iOS Xcode

Azure Cloud Services

Azure IaaS 仮想マシンを使用したロード テスト Azure Service Fabric アプリケーション

Azure Service Fabric アプリケーション (Docker) Azure Web アプリ / Java 用 Azure Web アプリ Ant / Maven Gradle Jenkins Node.js (Grunt 使用) Node.js (gulp 使用) Go (VSTS のみ)

(15)

エージェントの挙動解説

(16)

ビルド・リリース実行場所

VSTS 上ではない。 Hosted Agent のあるマシン上で実行 • 外部サービスとの連携の場合は、エージェントが動いている マシンと連携できることを予め確認 16 VSTS プライベート環境 マシン パブリック環境 Hosted Agent 成果物 コード 成果物 成果物

(17)

Hosted Agentとプライベートエージェント

Hosted Agent: マイクロソフト提供 VSTS 専用エージェント

• Windows 環境では、Hosted VS 2017 がデフォルト

• Hosted Linux / Hosted macOS はプレビューとして提供

プライベートエージェント: 自前のマシンを利用する際に使用

• Hosted Agent にない環境で実行する必要がある場合 • 環境固定したい場合

• イントラネットの環境上でのビルド・リリース実行場合

(18)

タスクの正体

• ビルド、リリース実行されるマシン上にスクリプトが ダウンロード • 設定したパラメーターがスクリプト上で読み込まれて実行 • “成果物発行” タスクの例 18 publishbuildartifacts.js

(19)

変数 (Variable)

複数の設定での同時ビルド・リリースの際にも活用

19

変数定義 Visual Studio Build

msbuild.exe ・・・ /p:platform=“any cpu” /p:configuration=“release”

(20)

変数の活用

• ユーザー定義変数 • スクリプト内での変数の定義や変更も可能 • 変数グループ • ユーザー定義変数をグループ化して再利用可能に • 定義済み変数: ビルドとリリースで異なる • ビルド: https://www.visualstudio.com/en-us/docs/build/define/variables • リリース管理: https://www.visualstudio.com/en-us/docs/build/concepts/definitions/release/variables 20

(21)

エージェントのディレクトリ構成

• ビルド・リリースの実行場所を指定可能な定義済み変数あり 21 _work _tasks 1 r1 s a タスクで実行されるスクリプトが格納 ビルドで使用する ソースコード リリースで使用する 成果物

(22)

エージェントのディレクトリ構成

• ビルド・リリースの実行場所を指定可能な定義済み変数あり 22 _work _tasks 1 r1 s a Build .SourcesDirectory System .ArtifactsDirectory 定義済み変数

(23)

エラー発生時の対処指針

(24)

エラーログは原因特定のヒントを提供

• ビルド・リリースで成果物は適切に受け渡しされているか • エージェントの設定は適切にされているか • エージェントマシンと外部サービスが適切に連携しているか • パラメーター、変数の値は適切か • タスクは想定通りの動きをしているか 24 ビルド・リリースは マイクロソフト提供スクリプトが実行されているだけです。 設定を再確認することが問題解決の近道です。

(25)

まとめ

(26)

彼を知り己を知れば百戦殆うからず

26 1 成果物がビルド・リリースの架け橋に 2 マイクロソフト提供スクリプトが実行 3 変数の理解と活用が自動化の扉を開ける

VSTS / TFS のビルド・リリース機能を活用して

高品質のソフトウェアの迅速な提供を!

(27)

© 2018 Microsoft Corporation. All rights reserved.

参照

関連したドキュメント

メモ  : 権利の詳細な管理は、 BlackBerry WorkspacesEnterprise ES モード BlackBerry Workspaces およ. び Enterprise ES ( 制限付きフルアクセス )

サーバー費用は、Amazon Web Services, Inc.が提供しているAmazon Web Servicesのサーバー利用料とな

タップします。 6通知設定が「ON」になっ ているのを確認して「た めしに実行する」ボタン をタップします。.

Azure Cloud Native Dojo Azure Light-Up.. ©Microsoft

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)

使用済燃料プールからのスカイシャイン線による実効線量評価 使用済燃料プールの使用済燃料の全放射能強度を考慮し,使用

 本資料作成データは、 平成24年上半期の輸出「確報値」、輸入「9桁速報値」を使用

 本資料作成データは、 平成26年上半期の輸出「確報値」、輸入「9桁速報値」を使用