Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure-CICD.pdf
Search
tenn25
October 31, 2018
0
58
Azure-CICD.pdf
tenn25
October 31, 2018
Tweet
Share
More Decks by tenn25
See All by tenn25
DQ-Management3-1
tenn25
0
40
study-infra-0708
tenn25
0
62
study-infra-0526
tenn25
0
51
study-infra-0429
tenn25
0
77
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.4k
How GitHub (no longer) Works
holman
312
140k
Optimising Largest Contentful Paint
csswizardry
33
3k
Facilitating Awesome Meetings
lara
51
6.2k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Done Done
chrislema
182
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Practical Orchestrator
shlominoach
186
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
3k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Transcript
AzureでCI/CDするから 見ててくれ #インフラ勉強会 @tenn_25 2018/10/31
はじめに 以前、佐々木さんに「Azure WebAppsのデ プロイ機能の話してよ」と言ってくださいまし た! それを含めてAzureのCI/CDの話をしようと 思います!
諸注意 ・本内容には@tenn_25の独断と偏見が含まれている可能性があります ・頑張って準備しましたが、間違ったこと言ってたらすみません ・Azureの回し者ではありません ・Azureを激推しするつもりも否定するつもりもありません
私の思うAzureのいいところ(個人の感想) ・PaaS発なのでPaaSの機能が豊富(WebAppsまわり) ・FaaSサービスが高機能(FunctionApp,LogicApp) ・監視サービスが強力(Application Insights) ・リソースグループという概念でリソースが整理できる。 ・VisualStudio,AzureDevOpsなどMSサービスとの親和性(開発支援、CI/CD、テストな ど) 価値(サービス)を作ることに集中するためのツール達、と言う側面が強い。 Geekじゃない人も価値を作れることを重視している感じがする。
今日のデモ ①Azure DevOpsを使ってCI/CD環境を作る ②InfraStructure as Codeでインフラ環境をデプロイ ③GitへのPushトリガーでアプリケーションをデプロイ ④ブルーグリーンデプロイの実施
①Azure DevOpsを使ってCI/CD環境を作る ・旧名称:VSTS ・WIki、タスク管理、Git、CI/CDツール、テストツールがオールインワンになった開発チー ムのためのサービス。 ・CI/CDについては、画面からぽちぽち作成 or YAMLファイルをインポート ・3週間単位でアップデートがかかるので機能追加やUI変更がすごい。。 ・右上の[Preview
Features]から該当機能のチェックを外すと新機能を無効化できる
②InfraStructure as Codeでインフラ環境をデプロイ ・今回はWebApps(IISのPaaS)をコード化して、コードからデプロイ。 ・Ansibleなども使えますが、Azure公式のARMTemplateを使います。 ・JSON形式で出力ができるので取っ付き易い!! ・詳しくは以前のセッション「AzureでInfraStructure as Code」へ。。 1.インフラリリース用のビルドパイプラインを作成
2.masterブランチへのpushトリガーでWebAppsが作成される。
③GitへのPushトリガーでアプリをデプロイ ・Pushトリガーで動くパイプラインを作ります。 1.Gitの指定のブランチにPush 2.ビルドパイプライン実行 3.リリースパイプライン実行 4.WebAppsにデプロイされたことを確認!
④ブルーグリーンデプロイの実施 参考サイト:Microsoft Azure 技術者blog https://www.softbanktech.jp/service/list/ms-azure_blog/ms-azure_blog_0058/ 1.deployment slotを作成してリリースパイプラインを修正 2.pushトリガーでビルドされたものが裏slotにデプロイ 3.裏スロットにデプロイされたことを確認 4.問題なければ承認ボタンを押して表(ブルー)と裏(グリーン)を切り替え!!
5.表スロットに新バージョンがリリースされたことを確認 6.問題があればSwapするだけで切り戻しできることを確認