SlideShare a Scribd company logo
1 of 43
Download to read offline
Azure DevOpsオンライン Vol.3
Azure Pipelines
かめがわ かずし(@kkamegawa)
自己紹介
personal:
name: かめがわ かずし
alias: kkamegawa
community:
MVP: Microsoft MVP for Developer Technologies(2009-)
UsersGroup: Team Foundation Server Users Group
URL: https://dev.azure.com/tfsug/tfsuginfo
Blog: はてなブログ
URL: https://kkamegawa.hatenablog.jp
This contents based on 2020/9/22
https://aka.ms/AA98bey
お品書き
Azure Pipelinesについて
登場、Azure DevOps Server 2020
Azure Pipelines
対応レポジトリ(Azure以外も)にあるファイルをビルド、デプ
ロイするサービス。
自前で管理(Self-hosted)
1+Visual Studio Enterpriseのライセンス分並列
Azure DCで提供(Microsoft-hosted)
プライベートrepoでは1800分/月が無償。超えると有償
OSSでは10並列まで無償。
プライベートrepoで並列度あげる場合は有償
インフラはGitHub Actions / VS App Centerと共通
Azure Pipelines vs GitHub Actions
Azure Pipelines GitHub Actions
形式 YAML / Classic GUI YAML
課金 OSS : 10並列。無制限
プライベート : プランによる
OSS : 10並列。無制限
プライベート : プランによる
コミュニティフロー marketplaceでタスク単位提供 Marketplaceでの提供(多い)
指定したエージェントに入れる Capabilities(環境変数か明示) Label
コマンドシェル Windowsではcmd.exe WindowsではPowerShell
(shell: cmdを指定すれば
cmd.exe)
Multi-Stage Pipeline 一つのYAML 明示的に分割
https://docs.github.com/en/actions/learn-github-
actions/migrating-from-azure-pipelines-to-github-actions
※:他にもAzure DevOpsにしかない機能(Environmentsなど)がある
Azure Pipelinesが提供する環境
OS version Latest
Windows • Windows Server 2016-VS2017
• Windows Server 2019-VS2019
Windows Server 2019-
VS2019
macOS • 10.14
• 10.15
10.15
Linux • 16.04
• 18.04
• 20.04
18.04
(20.04はプレビュー)
参考:Microsoft-hosted agent
TIPS:
.NET CoreやJavaScriptベースといったクロスプラットフォームであればmacOSのエージェントを指定するのがおすすめ。
実機で動いていると思われ、ディスク性能などがかなり違う
Ecosystem
タスクを作成・追加で、
これら以外のプラット
フォームもサポート
引用:Azure Pipelines ecosystem support
Pipelinesの仕事
対象レポジトリを監視、イベントに応じてソース取得
レポジトリから取得したソースを手順に従って処理
生成結果を手順に従って発行
レポジトリの監視・取得
多様なレポジトリをサポート(Git / Subversion / TFVC)
Azure Repos / GitHub (Enterprise Server) /
BitBucket(Server/Cloud)
複数レポジトリからの同時チェックアウト(マルチチェック
アウト)も可能
Gitベースとそれ以外ではサポート機能に若干差異
YAMLのサポート有無でも差異あり
マルチチェックアウトの定義
対象の外部レポジトリを
resourcesに登録
複数のレポジトリ(異なる
サービスでもOK)からgit
cloneする
参考:Check out multiple repositories in your pipeline
resources:
repositories:
- repository: MyGitHubRepo
type: github
endpoint: MyGitHubServiceConnection
name: MyGitHubOrgOrUser/MyGitHubRepo
- repository: MyAzureReposGitRepository
endpoint: MyAzureReposGitServiceConnection
type: git
name: OtherProject/MyAzureReposGitRepo
steps:
- checkout: self
- checkout: MyGitHubRepo
- checkout: MyAzureReposGitRepository
自動checkoutなし
外部からcheckout
service connection
endpoint
GitHub/Azure
Repos/Bitbucket
マルチチェックアウトの動作とユースケース
Gitベースのレポジトリのみ
使用可能な機能
様々な理由でレポジトリを
分散せざるを得ない場合
に便利
身近なユースケースとして
は、YAMLのTemplateを集中
管理したい場合
MultiStageの動画でも解説しています
https://youtu.be/d2FevFzDzPY
ソースに対する手続きを記述 - YAML vs Classic
2018/9(Azure DevOpsへの改名)のタイミングで登場
YAMLのMulti-Stageも一般公開になって、準備が整って
います
GUIのClassic Editorは今後強化されない予定
TFVCを使う場合はGUIでもOK
YAMLサポートしない機能があるため
Classic vs YAML
YAMLとClassicの機能比較
YAML Classic
Work Itemとの関連付け ✔(コミット時指定、ブランチ指定)
キャッシュ指定 ✔
コンテナージョブ ✔
Deployment group Job Environmentで代替 ✔
リリースゲート Environmentで一部代替 ✔
Service Container ✔
Task Groups Templateで代替 ✔
PR Tigger ✔ Releaseのみ
Stage ✔ Releaseのみ
Automated Tests ✔
• 管理が分散しておすすめはしないが、YAML Build + Classic Releaseという組
み合わせも考えられる 参考:Use Azure Pipelines
Stage to Run Automated Test
Test Plansの”Stage to
run automated tests”は
YAMLのマルチステー
ジを認識しない(現状
の制限?)
使う場合はClassic
Build/Releaseが必要
YAMLの書き方がわからない!
Azure DevOpsの機能をサポートするためかなり複雑
GitHubにサンプルがあるので参照
https://github.com/microsoft/azure-pipelines-yaml
Multi-Stage Pipelinesの作り方解説しています
https://www.youtube.com/playlist?list=PLH-SCfepAr4oWJ8VQwJUa3svQSHajI41o
参考:YAML Schema
YAMLの構造
trigger:
- master
pool:
vmImage: 'ubuntu-latest’
variables:
buildConfiguration: 'Release'
SolutionFiles: '**/*.sln’
Resources:
repositories:
- repository: templates
type: git
name: SessionDemo/Pipelines
stages:
- stage: Build
displayName: 'Build Solution'
jobs:
- job: Build
pool:
vmImage: 'Windows-latest'
demands:
- msbuild
- visualstudio
steps:
- task: UseDotNet@2
displayName: 'Install 3.x .NET Core'
inputs:
packageType: 'sdk'
version: '3.x'
- task: NuGetToolInstaller@1
inputs:
versionSpec: '5.x'
checkLatest: true
- task: DotNetCoreCLI@2
displayName: 'Restore Nuget Package'
inputs:
command: 'restore'
projects: '$(SolutionFiles)'
feedsToUse: 'select'
YAMLの構造
セクション 代表的なキーワード 役割
Pipeline Trigger
Resources
Environments
ビルドトリガー
参照リソース(外部)
ビルド関連の情報を管理
Stages Stage
Jobs
ビルド・リリースを管理(なくてもよい)
ビルド・リリースを実行する範囲
Jobs Job
Steps
Services
Strategy
ビルド・リリースを実行する範囲
具体的な処理を記載
接続するサービスを記載
ジョブを実行するための方式を定義
Steps Task ビルドやリリースの具体的な処理手順
Deployment Strategy
Jobs
ジョブを実行するための方式を定義
ビルド・リリースを実行する範囲
共通 Pool
Variables
Condition
ビルドを実行する環境を指定
変数定義
ビルド実行する条件を指定
最小限のYAML
.NET Coreのビルドのみ
trigger/pool/variablesを定義
job配下に実行するコマンド
タスクを列挙
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
solutionFiles: '**/*.sln'
jobs:
- job: Build
steps:
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '**/*.sln'
feedsToUse: 'select'
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: '$(solutionFiles)'
YAMLの育て方
1. Try & Error
2. 少なくともJobsの単位で動くようになってから次
のJobsやStageへ移行
3. 長くなりすぎたらTemplateへ切り出し。
4. 1へ戻る
Azure Pipelinesが動くタイミング
手動
YAMLのtrigger指定に一致したとき
GUIで設定されたtrigger指定に一致したとき
Azure CLI / REST APIで呼び出し
pull request含めたtriggerの挙動
トリガー 挙動
trigger: none パイプラインの実行が手動のみ。
trigger:
- master
- dev
master / devブランチに対して変更があった場合、パイプラインが実行される。
ただし、この二つのブランチに対してpull requestがあった場合もパイプラインが
呼び出される。
pr: none masterにコミットされた場合は実行してほしいけど、pull requestではパイプライ
ンが動いてほしくない場合に指定。
pr: master 同じ設定だが、masterにpull requestがあった場合はパイプラインを実行する場合
に指定。
trigger:
branches:
include:
- master:
paths:
include:
- src/*
exclude:
- azure-pipelines.yml
masterブランチのsrc配下のパスに何かのファイルがコミットされた場合、パイプ
ラインを実行する。
azure-pipelines.ymlが変更されてもビルドは実行されない。
pull requestのときだけビルドしたい
#YAMLのトリガーは無効
trigger: none
Pull Requestでビルド開始
PR時のみビルドしたいケースもうちょっと解説
YAMLのtriggerはnoneを指定する
対象のブランチにブランチポリシーを設定
ビルドで使用するパイプラインを指定
TriggerはAutomatic
Policy requirementはRequired
masterに直コミットしてもビルドは実行されません
複数の構成を一度にビルドする
複数プラットフォーム/構成のビ
ルドしたい場合に使用する
strategy/matrixを指定すると対
象のvariablesに対して一度にビ
ルドできる
並列数も指定可能
pool:
vmImage: 'Windows-latest'
strategy:
matrix:
x64:
BuildPlatform: 'x64'
x86:
BuildPlatform: 'x86'
AnyCPU:
BuildPlatform: 'Any CPU'
variables:
buildConfiguration: 'Release'
solutionFiles: '**/*.sln'
jobs:
- job: Build
steps:
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
デプロイ戦略の違い
ビルド→本番デプロイというケースは多くない
RunOnece/ Rolling / Canaryというデプロイ戦略をサポート
ビルド
検証
本番 P1 P2 P3 P4 P1 P2 P3 P4
ビルド ビルド
検証 検証
P1~P4:本番用インスタンス
RunOnece Rolling Canary
数%ずつトラフィック見て展開順番に展開
機密情報の扱い方
Libraryに格納(パスワード、各種証明書等)
さらに機密性の高いものはAzure Key Vaultに格納
オンプレミスのAzure DevOpsでもSQL Server内で暗
号化されています。
YAMLの注意点
YAMLは上から下に解釈される
YAMLで上に位置するジョブが下のジョブに依存すると
エラーになる
Trigger/Schedule/VariablesはGUIで上書きできるの
で、動かないときはGUIも確認する
YAMLの展開後のサイズには制限がある
いつでもリリースされたくない - Environments
Environmentsにリソース定義
必要なチェックを指定する
展開する前/後の状態確認
勤務時間内か
承認があるか
外部のREST APIの結果が問題ないか
…等
Agent Poolの仕組み
Azure DevOpsでのPipelineエージェントプール
Pipelines
Agent Pool
Default Hosted
Microsoft Hosted
1 2 3
Visual Studio 2017 / 2019
macOS 10.15 / Ubuntu 16/18/20
Self Hosted
1 2 3
オンプレミスエージェント
Target Servers
1 2 3
デプロイ先
Pipelinesのエージェントが配置可能な構成
• オンプレミス、クラウドにエージェントの配置
が可能
• Firewall/proxyの背後でも443/tcpだけ通って
いれば問題ない
• 宛先のアドレスまで絞る場合は以下を参照
Allowed address lists and network connections
• Proxy経由する場合は以下を参照
Run a self-hosted agent behind a web proxy
どうしてもビルドがうまくいかない…
よくある…以下のタスクは特にはまりやすい
copy files
download xx
upload xx
シェル系
publish xx
エージェントのどの場所で動いているか、成果物が
生成された場所を理解してないと時間を溶かす
エージェント内のフォルダー構成
{agent_work}¥{index}¥a
{agent_work}¥{index}¥s
{agent_work}¥{index}¥TestResults
{agent_work}¥r{index}¥a
{agent_work}¥{index}¥b
値 意味
Build.ArtifactStagingDir
ectory
Build.StagingDirectory
成果物をコピー
する前のフォル
ダー
Build.SourcesDirectory
System.DefaultWorking
Directory
ソースファイル
がダウンロード
されるフォル
ダー
Build.BinariesDirectory コンパイルされ
たバイナリー用
フォルダー
Agent.ReleaseDirectory Classic用リリース
フォルダー
Common.TestResultsDir
ectory
テスト結果格納
用
エージェントのフォルダーに気を付ける
Build.SourcesDirectoryにソースをダウンロード
コンパイルする場合はBuild.SourcesDirectory配下に出力されるの
で、必要なファイルだけBuild.StagingDirectoryへコピー
Build.StagingDirectoryに対してpublish
わからなければSelf-hostedを立てて、どこのフォルダーに生成されている
か調べる
variablesでsystem.debugをtrueにしておくのもよい
参考:Review logs to diagnose pipeline issues
どっち使う?
Microsoft-hosted Self-hosted
CI環境のメンテナンスしたくない ✔
クラウドサービスへ展開したい ✔
上限なく並列度を上げたい(※) ✔
巨大(10GB超)なファイルを使いたい ✔
多コアで高速ビルドしたい ✔
古い/ベータ版環境を使いたい ✔
オンプレミスにデプロイしたい ✔
クラウド対応していないソフトがあ
る(ライセンス等)
✔
※:ただし、並列数分のエージェントの購入が必須
Microsoft-HostedとSelf-Hostedの中間 - scale set agents
高速な環境で大きなファイルを使いたいけど、オン
プレミスに用意できないような場合にどうぞ
参考:Azure Virtual Machine scale set agents
よくある質問
もっと高性能なMicrosoft-Hosted提供されない? 残念ながら今のところ…
Scale set agentを使ってください。
AzureにデプロイするときPublic IP使わないとダメ? 12月にService Tagがサポートされることになったので、そ
れまで待つか、Scale set agentを使ってください
Self-hostedに何が入ってるの? GitHubにMicrosoft-Hostedのイメージ作るためのスクリプト
が公開されているので、こちらをみてください。
イメージはいつ更新されるの? 基本毎週更新しているそうです。
古くなったOSのイメージは毎月更新になります。
イントラの中でも大丈夫? 443/tcpといくつかのアドレスが通っていれば大丈夫
どうしてもYAML使わないとダメ? MSの伝統で”Classic”とつくと投資が悪化するので、早めの
移行でフィードバックしましょう。
ArtifactとAzure Artifactsって何が違う? ビルドの生成物がArtifact
パッケージ管理と生成物を管理するサービスがAzure
Artifactsです。
YAMLとClassicで機能差ないの? 割となくなってきたはずです。回避方法があるものも多い
です。
(参考)パイプライン実行時セキュリティ調査
成果物に対してOSSの脆弱性監査を実施する
WhiteSource Bolt
Black Duck
Secure DevOps Kit for Azureのようなツールでスキャ
ンする
(参考)より高度なコンプライアンス&ガバナンス
Azure BluePrintsとの連携
パッケージがBluePrint定義にパッケージングされる
あれデプロイしたっけ?という調査が楽になる
Azure Policyとの連携
リソースのルールを定義しておく
参考資料
Azure Pipelines Documentation
https://docs.microsoft.com/en-us/azure/devops/pipelines/

More Related Content

What's hot

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)NTT DATA Technology & Innovation
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫Koichiro Matsuoka
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTakuto Wada
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyKazuhito Miura
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]Koichiro Matsuoka
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション土岐 孝平
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesignRyoma Nagata
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたHideaki Aoyagi
 

What's hot (20)

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 

Similar to Azure DevOps Online Vol.3 - Inside Azure Pipelines

Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Kazushi Kamegawa
 
機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編Daiyu Hatakeyama
 
Getting Start for Azure Pipelines
Getting Start for Azure PipelinesGetting Start for Azure Pipelines
Getting Start for Azure PipelinesKazushi Kamegawa
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Keisuke Fujikawa
 
Azure Kubernetes Service Overview
Azure Kubernetes Service OverviewAzure Kubernetes Service Overview
Azure Kubernetes Service OverviewTakeshi Fukuhara
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートオラクルエンジニア通信
 
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxTech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxYasuaki Matsuda
 
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うVisual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うTakeshi Fukuhara
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS AzureIssei Hiraoka
 
デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化Katsuhiro Aizawa
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...Suguru Ito
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 日本マイクロソフト株式会社
 
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Kazuki Takai
 
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しようAzure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しようShinya Nakajima
 
Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringKazuki Takai
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815Ayumu Inaba
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAmazon Web Services Japan
 

Similar to Azure DevOps Online Vol.3 - Inside Azure Pipelines (20)

Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介
 
機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編
 
Getting Start for Azure Pipelines
Getting Start for Azure PipelinesGetting Start for Azure Pipelines
Getting Start for Azure Pipelines
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
 
Azure Kubernetes Service Overview
Azure Kubernetes Service OverviewAzure Kubernetes Service Overview
Azure Kubernetes Service Overview
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
 
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxTech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
 
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うVisual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使う
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure
 
デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
 
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理
 
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しようAzure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
 
Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover Clustering
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
 
Sql azure入門
Sql azure入門Sql azure入門
Sql azure入門
 
Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWS
 

More from Kazushi Kamegawa

「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐ「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐKazushi Kamegawa
 
Azure boards for beginners
Azure boards for beginnersAzure boards for beginners
Azure boards for beginnersKazushi Kamegawa
 
Deploy Strategy with Azure Pipelines
Deploy Strategy with Azure PipelinesDeploy Strategy with Azure Pipelines
Deploy Strategy with Azure PipelinesKazushi Kamegawa
 
DevOps and compliance and security
DevOps and compliance and securityDevOps and compliance and security
DevOps and compliance and securityKazushi Kamegawa
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and SecurityKazushi Kamegawa
 
Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)Kazushi Kamegawa
 
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's imageHow to create your own Azure Pipeline's image
How to create your own Azure Pipeline's imageKazushi Kamegawa
 
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Kazushi Kamegawa
 
Introduce TFSUG and Azure DevOps Server 2020
Introduce TFSUG and Azure DevOps Server 2020Introduce TFSUG and Azure DevOps Server 2020
Introduce TFSUG and Azure DevOps Server 2020Kazushi Kamegawa
 
Azure Boards and Azure Test Plans inside out.
Azure Boards and Azure Test Plans inside out.Azure Boards and Azure Test Plans inside out.
Azure Boards and Azure Test Plans inside out.Kazushi Kamegawa
 
Azure DevOps Management in Organization
Azure DevOps Management in OrganizationAzure DevOps Management in Organization
Azure DevOps Management in OrganizationKazushi Kamegawa
 
What's new Azure DevOps in //Build 2019
What's new Azure DevOps in //Build 2019What's new Azure DevOps in //Build 2019
What's new Azure DevOps in //Build 2019Kazushi Kamegawa
 
Deploy to Azure by ??? Azure Repos or GitHub
Deploy to Azure by ??? Azure Repos or GitHubDeploy to Azure by ??? Azure Repos or GitHub
Deploy to Azure by ??? Azure Repos or GitHubKazushi Kamegawa
 
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティAzure DevOpsとセキュリティ
Azure DevOpsとセキュリティKazushi Kamegawa
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxKazushi Kamegawa
 
その後のBash on windows
その後のBash on windowsその後のBash on windows
その後のBash on windowsKazushi Kamegawa
 
Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Kazushi Kamegawa
 

More from Kazushi Kamegawa (20)

「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐ「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐ
 
Azure boards for beginners
Azure boards for beginnersAzure boards for beginners
Azure boards for beginners
 
Deploy Strategy with Azure Pipelines
Deploy Strategy with Azure PipelinesDeploy Strategy with Azure Pipelines
Deploy Strategy with Azure Pipelines
 
DevOps and compliance and security
DevOps and compliance and securityDevOps and compliance and security
DevOps and compliance and security
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and Security
 
Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)
 
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's imageHow to create your own Azure Pipeline's image
How to create your own Azure Pipeline's image
 
NET5 and Diagnostics
NET5 and DiagnosticsNET5 and Diagnostics
NET5 and Diagnostics
 
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編
 
Introduce TFSUG and Azure DevOps Server 2020
Introduce TFSUG and Azure DevOps Server 2020Introduce TFSUG and Azure DevOps Server 2020
Introduce TFSUG and Azure DevOps Server 2020
 
Azure Boards and Azure Test Plans inside out.
Azure Boards and Azure Test Plans inside out.Azure Boards and Azure Test Plans inside out.
Azure Boards and Azure Test Plans inside out.
 
Azure DevOps's security
Azure DevOps's securityAzure DevOps's security
Azure DevOps's security
 
Azure DevOps Management in Organization
Azure DevOps Management in OrganizationAzure DevOps Management in Organization
Azure DevOps Management in Organization
 
What's new Azure DevOps in //Build 2019
What's new Azure DevOps in //Build 2019What's new Azure DevOps in //Build 2019
What's new Azure DevOps in //Build 2019
 
Deploy to Azure by ??? Azure Repos or GitHub
Deploy to Azure by ??? Azure Repos or GitHubDeploy to Azure by ??? Azure Repos or GitHub
Deploy to Azure by ??? Azure Repos or GitHub
 
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティAzure DevOpsとセキュリティ
Azure DevOpsとセキュリティ
 
What's Azure DevOps
What's Azure DevOpsWhat's Azure DevOps
What's Azure DevOps
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
その後のBash on windows
その後のBash on windowsその後のBash on windows
その後のBash on windows
 
Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発
 

Azure DevOps Online Vol.3 - Inside Azure Pipelines