Grant Holliday Senior Service Engineer Microsoft.

26

Transcript of Grant Holliday Senior Service Engineer Microsoft.

Page 1: Grant Holliday Senior Service Engineer Microsoft.
Page 2: Grant Holliday Senior Service Engineer Microsoft.

Deploying to Azure Websites with Git and Visual StudioGrant HollidaySenior Service EngineerMicrosoft

DPP304

Page 3: Grant Holliday Senior Service Engineer Microsoft.

[email protected]

http://blogs.msdn.com/b/granth/

Grant Holliday

Page 4: Grant Holliday Senior Service Engineer Microsoft.

http://aka.ms/ProTFS2013

Page 5: Grant Holliday Senior Service Engineer Microsoft.
Page 6: Grant Holliday Senior Service Engineer Microsoft.

Agenda• Visual Studio, TFS & Git• Azure Websites• Continuous Deployment• Visual Studio Online “Monaco”

Page 7: Grant Holliday Senior Service Engineer Microsoft.

A comprehensive ALM offeringVisual Studio

Online

Planning SCM Work Item TrackingContinuous Deployment Build Automation

Feedback Management

Page 8: Grant Holliday Senior Service Engineer Microsoft.

Centralized Version Control

(TFVC)

Strengths Best for

Modern source-control approaches

Server Workspaces

Local Workspaces

DistributedVersion Control (Git)

• Scales to very large codebases

• Fine level permission control

• Allows usage monitoring

• Large integrated codebases

• Control and auditability over source code down to the file level

• Offline editing support

• Easy to edit files outside Visual Studio or Eclipse

• Medium-sized integrated codebases

• A balance of fine-grained control with reduced friction

• Full offline experience

• Complete repository with portable history

• Simplified branching model

• Modular codebases

• Integrating with open source

• Highly distributed teams

Page 9: Grant Holliday Senior Service Engineer Microsoft.

Git fully integratedinto Visual Studioand TFS/VSO

Page 10: Grant Holliday Senior Service Engineer Microsoft.

Common questions• Why would Microsoft add Git to VS/TFS/VSO?• Is TFS Version Control dead?• But isn’t Microsoft against open source?• Does this only work with Git on TFS/VSO?• What’s so special about it?

Page 11: Grant Holliday Senior Service Engineer Microsoft.

Fully integrated

Git support

Team Foundation Server/VSO

Project 2

Issues

Project

MgmtBuild

Git SCC Provider

Project 1

Issues

Project

MgmtBuild

Git

3rd Party

XCode

Eclipse

Shell

3rd Party

Eclipse

Shell

… TFVC

……

TFS SCC Provider

Team Explorer

TFVC Object Model

Local Repo

LibGit2 / LibGit2Sharp

Other Remote

Git Repo

Git-TF

Page 12: Grant Holliday Senior Service Engineer Microsoft.

TFSVC vs. Git conceptsTFSVC GitCreate workspace and get latest Clone (duplicate) a remote repo to a local file path

Switch workspace or branch Checkout a branch to make it the current, working branch

Undo a change to a file Checkout the file to overwrite your changes with the latest in the current, working branch

Shelve Commit changes to a local topic branch, make sure the branch is published and push to it, and Checkout to switch to a different local branch

Pending changes Status

Check-in Push to send to a remote repo what has already been committed locally

Get latest version Pull commits from a remote repo into the currently checked-out branch of the local repo, merging as necessary. Fetch does the same thing without merging.

Check-in and get latest version Sync (Effectively a Push and Pull - available only in the Visual Studio UI)

Page 13: Grant Holliday Senior Service Engineer Microsoft.

Version control using Git with Visual Studio and TFS

Page 14: Grant Holliday Senior Service Engineer Microsoft.

Azure Websites

Page 15: Grant Holliday Senior Service Engineer Microsoft.

Azure Websites• .NET, Java, PHP, Node.js, Python• Built-in AutoScale and Load Balancing• Metrics• High Availability with Auto-Patching• Hybrid Connections to on-premises resources

Page 16: Grant Holliday Senior Service Engineer Microsoft.

Azure Websites

Page 17: Grant Holliday Senior Service Engineer Microsoft.

Hybrid Connections

AzureWebsites

Corporate network

Microsoft SQL Server

Hybrid ConnectionOther published resourcesHybrid Connection

Manager

Page 18: Grant Holliday Senior Service Engineer Microsoft.

Continuous Deployment

Git Repo AzureWeb Site

Commit

Commit

Commit

Hook fires

git pull

deploy

Page 19: Grant Holliday Senior Service Engineer Microsoft.

Continuous Deployment

Pushing your changes to your Azure Web Site

Page 20: Grant Holliday Senior Service Engineer Microsoft.

Visual Studio Online “Monaco”

Page 21: Grant Holliday Senior Service Engineer Microsoft.

Lightweight, friction freeCompanion to VS IDE, accessible from modern browsers on any device, on any platform

Optimized for AzureBuild, maintain, and run Websites directly in Azure

Rich editing experiencesFast, fluid code editing, navigation, and understanding in the browser, without the feel of a browser

Support for today’s frameworks and languages

HTML5 and JavaScript (including TypeScript), Node , PHP, ASP.NET sites, and apps

Monaco

Page 22: Grant Holliday Senior Service Engineer Microsoft.

• Monaco service available as site extension on every Azure site

• Access gated by site configuration option and deployment credentials

• Tools access via the “.scm” endpoint, live edit wwwroot

• Runs as peer to Azure deployment services (“Kudu”)

ArchitectureYourSite

MonacoServices

IISNode,PHP, etc.

Site Extension

r/waccess

runs

https://yoursite.scm.azurewebsites.net/dev

http://yoursite.azurewebsites.net

Azure SCC Deploy

Site Extension

writes

https://yoursite.scm.azurewebsites.net/yoursite.git

wwwroot

Page 23: Grant Holliday Senior Service Engineer Microsoft.

Editing Web Siteswith “Monaco”

Page 24: Grant Holliday Senior Service Engineer Microsoft.

Summary• Visual Studio is a Git client• TFS & VSO can host Git repositories• Git + Azure Web Sites = Continuous Deployment• “Monaco” is great for live editing

Page 25: Grant Holliday Senior Service Engineer Microsoft.

Related content

DPP409: Easy Continuous Deployment + TFS-GitDPP202: What’s New in Visual Studio + ALMDPP311: Release Management, DSC and AzureDPP210: Hack Your API FirstDPP312: Application Insights

Page 26: Grant Holliday Senior Service Engineer Microsoft.