continuous delivery with azure app service

Post on 11-Feb-2017

61 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CONTINUOUS DELIVERY WITH AZURE APP SERVICE

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

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

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

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.

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.

A SET OF TYPICAL DEV. ENVIRONMENTS

Dev. QA UAT

Staging Prod.

ESTABLISHED DEPLOYMENT SLOTS EXAMPLE

ESTABLISHMENT OF BRANCHING STRATEGY

Master branch – For Development environment

QA Branch – For QA and UAT environments

Production – For staging environment 

SUPPORTED DEPLOYMENT MEDIUMS

FTP Web Deploy Kudu

AND THEN THERE IS…THE APP SERVICE DEPLOYMENT

A WORD ABOUT SUPPORTED SOURCES

Deployment source

HOW IT WORKS

Code checked-in to reposit

ory

Kudu initiates the build

Kudu publishes the

website

DEMO

WHAT ABOUT IF YOU HAVE MULTIPLE SITES IN ONE PROJECT

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.

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.

EXAMPLE DEPLOYMENT CODE

RESOURCES

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

QUESTIONS

top related