Automatically deployment to Azure Web Sites

Preview:

DESCRIPTION

Littl

Citation preview

Template designed by

windows azure deployment & tfs

Ricci Gian Mariaalkampfer@nablasoft.comhttp://www.getlatestversion.it

brought to you by

Visual Studio ALM MVP

Appassionato di community e libero professionista

Contatti

Skype: alkampferaokTwitter: alkampferBlog: http://www.codewrecks.com http://www.getlatestversion.it http://blogs.ugidotnet.org/rgm E-Mail: alkampfer@nablasoft.com

Chi sono

Concetti di base di Continuous Deployment

Continuous deployment su Windows Azure Web Sites

Deploy tramite git

Deploy tramite TF Service

Personalizzazione del workflow di rilascio

agenda

Rilascio automatizzato del software

Rilasci in test / produzione

Velocizzare i feedback nel mondo agile

Verifica costante dello stato di salute del software

Evitare il «bagno di sangue» durante i rilasci

Continuous Deployment

Azure Web Sites

Supporto di sorgenti di

pubblicazione eterogenee

dem

o Deploy: Hello World con

Git

Dietro le quinte

Github

Codeplex

Qualsiasi hosting che supporta git

Cartella locale

Subversion (git-svn)

TFS VCS (git-tf)

Da dove posso pubblicare con Git

.deployment

Come personalizzo lo script di build

[config]command = deploy.cmd

deploy.bat

@echo off

Echo Questo è il mio script di build

Powershell

Bash

Php

Non partire da zero con il build script

azure site deploymentscript --aspWAP DemoApplication\demoapplication.csproj -s "demoapplication.sln"

deploy.cmd

@echo off

:: ----------------------:: KUDU Deployment Script:: ----------------------

:: Prerequisites:: -------------

:: Verify node.js installedwhere node 2>nul >nulIF %ERRORLEVEL% NEQ 0 ( echo Missing node.js executable, please install node.js goto error)

:: Setup:: -----

setlocal enabledelayedexpansion

SET ARTIFACTS=%~dp0%artifacts

IF NOT DEFINED DEPLOYMENT_SOURCE ( SET DEPLOYMENT_SOURCE=%~dp0%.)

IF NOT DEFINED DEPLOYMENT_TARGET ( SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot)

IF NOT DEFINED NEXT_MANIFEST_PATH ( SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest

IF NOT DEFINED PREVIOUS_MANIFEST_PATH (............

I command line tool di azure prevedono la generazione di uno script base di rilascio che potrete modificare

Con TF Service è possibile pubblicare tramite una TFS Build

TF Service

dem

o Deploy: Hello World con

TF Service

Dietro le quinteViene creata una build di TFS che si basa su un template apposite per la pubblicazione in azure

TF Service Build agent (elastic build) Azure Web

Site

Build on-premiseÈ naturalmente possibile usare un build agent on-premise per la build

TF Service Build agent (on - premise) Azure Web

Site

Vantaggi

Trigger: ad ogni checkin, manuale, schedulato, …

Integrato con TF Service (TFS)

Basato su workflow foundation

Estendibile

Log, drop folder, pubblicazione simboli sorgenti, etc (TFS Build)

Feedback tool

Personalizzazioni tipiche

Deploy di una struttura database mediante SSDT

Esecuzione di smoke test al termine del deploy

Pubblicazione del risultato di una build completata in passato (build quality / testing team)

Warm up del sito dopo il deploy

Invio mail con cambiamenti (bug chiusi etc)

demoPersonalizzazione del template per aggiornare database con SSDT

Ulteriori dettagli

Non è possibile, per ora, pubblicare da un progetto TF Service basato su git• Ancora il workflow di build non è personalizzabile

• Si può semplicemente deployare da un git locale

È possibile pubblicare su azure anche se si ha una installazione completa TFS on premise• Importare da Visual Studio il file publishsettings

• Specificare i parametri di deploy specifici per msbuild

Deploy from TFS on-premise to Azure Web Sites

Tutta l’infrastruttura TFS risiede on-premise

TFS Server Build agent (on - premise) Azure Web

Site

Sm

oke

test

Running a web performance

test to «smoke test» the site

After deploy a test is failed, deploy is flagged failed

Grazie a tutti per la partecipazione

Riceverete il link per il download a slide e demo via email nei prossimi giorni

Per contattarmi

alkampfer@nablasoft.com, info@getlatestversion.it

Grazie

Recommended