20
CONTINUOUS DELIVERY WITH AZURE APP SERVICE How to harness the power of Azure App Service to provide continuous delivery pipeline.

Continuous delivery with azure app service

Embed Size (px)

Citation preview

Page 1: Continuous delivery with azure app service

CONTINUOUS DELIVERY WITH AZURE APP SERVICE

How to harness the power of Azure App Service to provide continuous delivery pipeline.

Page 2: Continuous delivery with azure app service

ABOUT ME

Director of Application Architecture at CarFinance.com 15 years of industry experience Currently leading the cloud initiative at CarFinance.com mnabeelkhan.blogspot.com

Page 3: Continuous delivery with azure app service

WHAT WE WILL COVER

Continuous delivery concepts Power of App Services Continuous delivery pipeline Importance of Branching strategies Steps for building the continuous delivery pipeline

Page 4: Continuous delivery with azure app service

WHAT IS CONTINUOUS DELIVERY?

Continuous delivery (CD) is a software engineering approach in which teams produce software in short

cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and

releasing software faster and more frequently.– Wikipedia.

In simple words “Constantly develop, automatically build and automatically deploy”. This means that as soon as code is checked in a system would automatically build the application and deploy.

Page 5: Continuous delivery with azure app service
Page 6: Continuous delivery with azure app service

POWER OF APP SERVICES

Some of the advantages…

Unlike IIS, App service focuses on single app. Hence, the management of IIS has been abstracted away.

Easy to produce multiple hosting environments from click of button.

Unified security for different deployment slots. Deployment-slot-based application settings.

Page 7: Continuous delivery with azure app service

A SET OF TYPICAL DEV. ENVIRONMENTS

Dev. QA UAT

Staging Prod.

Page 8: Continuous delivery with azure app service

ESTABLISHED DEPLOYMENT SLOTS EXAMPLE

Page 9: Continuous delivery with azure app service

ESTABLISHMENT OF BRANCHING STRATEGY

Master branch – For Development environment

QA Branch – For QA and UAT environments

Production – For staging environment 

Page 10: Continuous delivery with azure app service

SUPPORTED DEPLOYMENT MEDIUMS

FTP Web Deploy Kudu

Page 11: Continuous delivery with azure app service

AND THEN THERE IS…THE APP SERVICE DEPLOYMENT

Page 12: Continuous delivery with azure app service

A WORD ABOUT SUPPORTED SOURCES

Deployment source

Page 13: Continuous delivery with azure app service

HOW IT WORKS

Code checked-in to reposit

ory

Kudu initiates the build

Kudu publishes the

website

Page 14: Continuous delivery with azure app service

DEMO

Page 15: Continuous delivery with azure app service

WHAT ABOUT IF YOU HAVE MULTIPLE SITES IN ONE PROJECT

Page 16: Continuous delivery with azure app service

MULTIPLE WEB APPS CHALLENGE

Step 1. Add app setting to your App Service to uniquely identify your app. This is to give Kudu a way to kick start the build and complete the publishing once code has checked in.

Step 2. Add “.deployment” file to the base of your source code repository. The “.deployment” file gives Kudu a starting point to start the deployment process.

Step 3. Create deploy.cmd file. This is the file that would tell Kudu how many different web apps or web Api apps are available in your code base that needs to be built as part of continuous integration pipeline.

Page 17: Continuous delivery with azure app service

GENERATING DEPLOY.CUSTOMER.CMD

Step 1: Create site deployment script.

Step 2: Rename the deployment script output file to match your project.

Step 3: Repeat steps 1 to 2 for each project.

Page 18: Continuous delivery with azure app service

EXAMPLE DEPLOYMENT CODE

Page 19: Continuous delivery with azure app service

RESOURCES

mnabeelkhan.blogspot.com http://blog.amitapple.com/

Page 20: Continuous delivery with azure app service

QUESTIONS