cory fowler blog.syntaxc4.net @syntaxc4 syntaxc4-msft
TRANSCRIPT
![Page 1: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/1.jpg)
![Page 2: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/2.jpg)
Continuous Integration &Automation withWindows Azure Web SitesCory FowlerWindows Azure Technical Evangelist3-551
![Page 3: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/3.jpg)
Agenda
Cory Fowler
blog.syntaxc4.net
@SyntaxC4
SyntaxC4-MSFT
• Familiarization of configuration settings and deployment pipeline
• Explore environment acquisition options
• Delve into continuous integration and continuous delivery
• How to deploy to multiple environments
![Page 4: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/4.jpg)
Continuous Integration
![Page 5: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/5.jpg)
A software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.
-- Martin Fowler
![Page 6: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/6.jpg)
Windows Azure Web Sites
![Page 7: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/7.jpg)
Fast, Simple, High Density Hosting.
![Page 8: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/8.jpg)
Windows Azure Web Sites
ASP ASP.NET
PHP Node.js
HTTP Handler
Language Support
TFS Online
Git
CodePlex
GitHub
Bit BucketDrop Box
Deployment
SNI or IP Based SSL
X86 | x64
Auto Scaling
Scalability[ Free | Shared | Standard ]
Endpoint Monitorin
g
Custom Domains
MetricFTP
Features
![Page 9: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/9.jpg)
Web Site > Quick Create
Demo
![Page 10: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/10.jpg)
Windows AzureLoad
Balancer
IIS ARR
API Frontend
Deployment Server(s)
Runtime DB
Web Server Pool
Web Site
Web Site
Web Site
Web Site
Web Site
Web Sites Databases
Web Site
Storage
Storage Controlle
r
Windows Azure Web Sites Architecture
![Page 11: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/11.jpg)
FTP Deployment
Windows AzureLoad
Balancer
IIS ARR
API Frontend
Deployment Server(s)
Runtime DB
Web Server Pool
Web Site
Web Site
Web Site
Web Site
Web Site
Web Sites Databases
Storage Controlle
r
Web Site
Storage
![Page 12: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/12.jpg)
Source Control Deployment
Windows AzureLoad
Balancer
IIS ARR
API Frontend
Deployment Server(s)
Runtime DB
Web Server Pool
Web Site
Web Site
Web Site
Web Site
Web Site
Web Sites Databases
Storage Controlle
r
Web Site
Storage
![Page 13: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/13.jpg)
nerddinner
Our Scenario
![Page 14: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/14.jpg)
Deploy from TFS Online
Demo
![Page 15: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/15.jpg)
Deployment Pipeline
Receive Deployment Notification
Run Deployment
Script
Deployment Success/Failu
re
Update Source Code
http://github.com/projectkudu/kudu
![Page 16: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/16.jpg)
Multi-Environment Deployment with TFS Online
Demo
![Page 17: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/17.jpg)
Web Sites Environments by Branching
Development Staging Production
![Page 18: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/18.jpg)
Let’s change gears…
![Page 19: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/19.jpg)
Windows Azure Environment Automation
![Page 20: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/20.jpg)
Create a Web Site
New-AzureWebSite –Name contoso-com-dev –Location “West US” -GitHub -GitHubRepository “Contoso/contoso-com”
azure site create nerddinner-com-dev --location “West US” --GitHub --GitHubUsername “NerdDinner” --GitHubRepository “NerdDinner/nerddinner-com”
![Page 21: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/21.jpg)
Automating Resources & App Settings
Windows AzureLoad
Balancer
IIS ARR
API Frontend
Deployment Server(s)
Runtime DB
Web Server Pool
Web Site
Web Site
Web Site
Web Site
Web Site
Web Sites Databases
Storage Controlle
r
Web Site
Storage
![Page 22: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/22.jpg)
nerddinner
Our Scenario
![Page 23: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/23.jpg)
Pull Request
NerdDinner Production Organization
NerdDinner QA Organization
NerdDinner-com
Production Branch
Staging Branch
Forked from NerdDinner-PROD/NerdDinner-com
NerdDinner-com
NerdDinner Individual Developer
Organization
NerdDinner-com
Production Branch
Staging Branch
Forked from NerdDinner-QA/NerdDinner-com
Production Branch
Staging Branch
Fork
![Page 24: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/24.jpg)
Scripted GitHub Deployment Environments
Demo
![Page 25: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/25.jpg)
Isn’t that only Continuous Deployment?
![Page 26: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/26.jpg)
Deployment Pipeline
Receive Deployment Notification
Run Deployment
Script
Deployment Success/Failu
re
Update Source Code
I’m Customizable
![Page 27: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/27.jpg)
Customized Deployment
Demo
![Page 28: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/28.jpg)
That all sounds great, but my code lives on-premises
![Page 29: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/29.jpg)
Deploying with TFS & TC
Demo
![Page 30: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/30.jpg)
Review
• How to configure deployment from Source Control systems via the Portal
• How to script an environment to automate resource acquisition
• How to configure Continuous Delivery to multiple environments via TFS Online & GitHub
• How to use WebDeploy from an on-premises build server.
![Page 31: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/31.jpg)
Cory Fowler
blog.syntaxc4.net
@SyntaxC4
SyntaxC4-MSFT
Q&A
![Page 32: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/32.jpg)
Evaluate this session
Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!
![Page 33: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/33.jpg)
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
![Page 34: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/34.jpg)
Web Site File StructureLogFiles
Application DetailedError Git http
Site wwwroot repository deployment .ssh
Kuduservice
![Page 35: Cory Fowler blog.syntaxc4.net @SyntaxC4 SyntaxC4-MSFT](https://reader030.vdocument.in/reader030/viewer/2022032708/56649e795503460f94b7878b/html5/thumbnails/35.jpg)
Create a Virtual MachineNew-AzureVMConfig –Name “contoso-build”
–InstanceSize Small-ImageName (Get-AzureVMImge)[4].ImageName `
| Add-AzureProvisioningConfig –Windows –Password “myPassword” –AdminUserName PsTestAdmin `
| New-AzureVM –ServiceName “MySvc2” –AffinityGroup “Contoso” -WaitForBoot
azure vm create contoso-buildwindows-server-2012-06-21-2013.vhdcontoso-user--location “West US”--rdp