SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Cycle de vie d'un projet web
agile avec TFS 2013, Azure
VM et Monaco
Franck Farré
Architecte
ffarre@sqli.com
Fabrice Hautot
Chef de projet technique
fhautot@sqli.com

SQLI
www.sqli.com
Code/Developpement
Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !

#mstechdays

Code/developpement
SOMMAIRE

#mstechdays

Code/developpement
Sommaire
• Le contexte
• L’industrialisation
• La méthodologie agile
• Visual Studio Online et Azure

• La mise en place
• Backlog et Planification
• Le lot #0
• L’infrastructure

• Réalisation
• Daily Scrum
• Monaco
• Tests et Build Automatique

• Packaging
• Azure VM et Virtual Network
• Build Controller sur Azure
#mstechdays

Code/developpement
INDUSTRIALISATION

#mstechdays

Code/developpement
INDUSTRIALISATION

Intégration
Continue

La démarche
Source
Control

Portail
d’équipe

Suivi de projet
et indicateurs
projet

TU, TUC, TUA
et UAT

- Pragmatique
- Progressive
- Amélioration
Continue
#mstechdays

Indicateurs
qualités

Code/developpement
MÉTHODOLOGIE AGILE
Basée sur Scrum

#mstechdays

Code/developpement
Cycle Agile

Source Wikipedia

#mstechdays

Code/developpement
VISUAL STUDIO ONLINE

#mstechdays

Code/developpement
VISUAL STUDIO ONLINE
• Étend les capacités de l’IDE
• Alternative à un TFS 2013 On Premise

#mstechdays

Code/developpement
WINDOWS AZURE
Le Cloud à notre service

#mstechdays

Code/developpement
WINDOWS AZURE

Source Microsoft

#mstechdays

Code/developpement
WINDOWS AZURE
• Toujours accessible (SLA 99,95%)
• Ouvert (API REST, commandlets
PowerShell…)
• Des solutions selon
les usages
#mstechdays

Code/developpement
WINDOWS AZURE

Source Microsoft

#mstechdays

Code/developpement
METTRE EN PLACE LE BACKLOG
Ecrire les exigences

#mstechdays

Code/developpement
METTRE EN PLACE LE BACKLOG

#mstechdays

Code/developpement
METTRE EN PLACE LE
BACKLOG
Elaboration d’un BackLog

#mstechdays

Code/developpement
PLANIFIER
Piloter son projet

#mstechdays

Code/developpement
PLANIFIER

#mstechdays

Code/developpement
PLANIFIER ET SUIVRE
Définition des itérations et création des tâches

#mstechdays

Code/developpement
MISE EN PLACE DU LOT #0
L’environnement de développement et le framework applicatif

#mstechdays

Code/developpement
LOT #0
• Création de la solution Visual Studio
– Liée à une tâche d’initialisation
– Création de l’arborescence projets
• projets d’analyse
• projets applicatifs
• projets de documentation (ex: SHFB…)
• projets de base de données
• projets de tests
• projets de déploiements
#mstechdays

Code/developpement
LOT #0
Le diagramme d’architecture (Layer Diagram)
• vision « macro »
• Source de documentation
• Validation à la compilation
Attention : validation assez longue sur les projets
volumineux.
#mstechdays

Code/developpement
MISE EN PLACE DE LA
SOLUTION
Projets et diagramme de couches

#mstechdays

Code/developpement
AZURE WEB SITE

#mstechdays

Code/developpement
AZURE WEB SITE
Permet la mise en place rapide
• d’un environnement d’intégration
• d’une intégration continue
Idéal pour les projets configurables
uniquement via le web.config
#mstechdays

Code/developpement
AZURE WEB SITE
Actions à mener
• Création du web site windows azure
• Autoriser la connexion entre Azure et VS
Online
Un build est automatiquement créé.
#mstechdays

Code/developpement
CRÉATION DU PROJET VS /
AZURE
Mise en place de la liaison

#mstechdays

Code/developpement
REALISATION

#mstechdays

Code/developpement
REALISATION

#mstechdays

Code/developpement
SPRINT BOARD
Mise à jour des tâches

#mstechdays

Code/developpement
EDITION EN LIGNE : « MONACO »
Outil d’édition en ligne
• Solution de « fixing » rapide
• Option de « Staging »
• Permet le maquettage HTML pure
• Lié au source control Git pour le moment

#mstechdays

Code/developpement
EDITION EN LIGNE : « MONACO »
Les raccourcis à connaitre
• « CTRL+E » pour trouver les options
• « ? » Rappel les commandes principales

#mstechdays

Code/developpement
EDITION D’UN PROJET AVEC
MONACO

#mstechdays

Code/developpement
TESTS

#mstechdays

Code/developpement
DECLENCHEMENT DU BUILD

#mstechdays

Code/developpement
COUTS DE MISE EN PLACE DE
CETTE USINE ??
0€
UNIQUEMENT DU TEMPS …

#mstechdays

Code/developpement
PACKAGING

#mstechdays

Code/developpement
PACKAGING

#mstechdays

Code/developpement
AZURE VM POUR LE BUILD
Quand le build Visual Studio Online ne suffit plus

#mstechdays

Code/developpement
LIMITE DU BUILD VISUAL STUDIO
ONLINE
Le build Visual Studio Online pose les
contraintes suivantes
• Build < 1h et <75Go
• Interdit
–
–
–
–
#mstechdays

installation de composants
droits administrateurs
connexion RDP au serveur de build
mode « interactive »
Code/developpement
Azure VM est une option
pour avoir son propre
environnement de build /
intégration.
#mstechdays

Azure VM

Dans ce cas, nous
utilisons un Build
Controller interne et non
hébergé par « Visual
Studio Online ».

Visual Studio
Online

DEFINIR UN BUILD CONTROLLER

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER
La cible
• Un Active Directory
• Un Serveur de Build

Active
Directory

#mstechdays

Code/developpement

Build
Server
MISE EN PLACE D’UN BUILD
CONTROLLER
Le IAAS

VM
1

VM
2

Subnet
Availability Set
Cloud Svc
Virtual Network

Storage Account

Storage Account

Affinity Group

#mstechdays

Code/developpement

Region
MISE EN PLACE D’UN BUILD
CONTROLLER

## INITIALISATION DES COMMANDES POWERSHELL AZURE
$subcriptionLocation = "C:Users<UserProfile>Downloads<SubscriptionName>credentials.publishsettings"
## Préparation des services azures, récupération de la subscription Azure
Get-AzurePublishSettingsFile
Import-AzurePublishSettingsFile $subcriptionLocation
## Pour retrouver les abonnements associés
Get-AzureSubscription | Format-Table -Property SubscriptionName,SubscriptionId

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER à utiliser
# Définition de la subscription
Select-AzureSubscription -SubscriptionName $subcriptionName
# Création du groupe d'affinité
New-AzureAffinityGroup -Name $affinity -Location $location -Description
$descriptionAffinity

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER
# Ajout d'un Vnet 10.0.0.0/8 & "Subnet-AD" 10.0.1.0/29 & "Subnet-BUILD" 10.0.2.0/24
Set-AzureVNetConfig -ConfigurationPath $networkConfigLocation

# Ajout du service cloud (accès public)
New-AzureService -AffinityGroup $affinity -ServiceName $serviceName -Description $descriptionService
Exemple de fichier de configuration XML
<NetworkConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
<VirtualNetworkConfiguration>
<VirtualNetworkSites>
<VirtualNetworkSite name="Vnet-TD2014" AffinityGroup="Affinity-TD2014">
<AddressSpace>
<AddressPrefix>10.0.0.0/8</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Subnet-AD">
<AddressPrefix>10.0.1.0/29</AddressPrefix>
</Subnet>
<Subnet name="Subnet-BUILD">
<AddressPrefix>10.0.2.0/24</AddressPrefix>
</Subnet>
</Subnets>
</VirtualNetworkSite>
</VirtualNetworkSites>
</VirtualNetworkConfiguration>
</NetworkConfiguration>

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

# Ajout de compte de stockage
New-AzureStorageAccount -StorageAccountName $accountStorage -AffinityGroup $affinity
# Création de la VM AD
Set-AzureSubscription -SubscriptionName $subcriptionName -CurrentStorageAccount $accountStorage
# pour retrouver les images
# Get-AzureVMImage | Where-Object {$_.OS -eq "Windows"} | Format-List -Property
Label,ImageName,Description
$vmAD = New-AzureVMConfig -name $vmNameAD -InstanceSize 'Small' -ImageName $image |
Add-AzureProvisioningConfig -Windows -Password $adminPassword -AdminUsername $adminUserName |
Set-AzureSubnet $vsubnetAD
New-AzureVM -ServiceName $serviceName -VMs $vmAD -VNetName $vnet -DeploymentName Depl-BUILD WaitForBoot
#Ajout disque pour du HDD pour l'AD "V"
Get-AzureVM $serviceName -Name $vmNameAD | Add-AzureDataDisk -CreateNew -DiskLabel sysvol DiskSizeInGB 32 -LUN 2 -HostCaching None | Update-AzureVM

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER
#Credentials pour WinRmHTTPs
$securePassword = ConvertTo-SecureString -String
$adminPassword -AsPlainText –Force

#Configuration de l’AD
Invoke-Command `
-ConnectionUri $uri `
-Credential $adminCredentials `
-SessionOption $option `
-ScriptBlock {

$adminCredentials = New-Object `
-TypeName
System.Management.Automation.PSCredential `
-ArgumentList "$vmNameAD$adminUserName",
$securePassword

Param($pdomNetbios, $pdomFQDN, $padminPassword)
#Initialise le disque v et format
Initialize-Disk -Number 2 -PartitionStyle MBR
New-Partition -DiskNumber 2 -UseMaximumSize -DriveLetter v
Format-Volume -DriveLetter v -FileSystem NTFS -Confirm:$false

#Récupération des informations de communication WinRmHTTPs
$uri = Get-AzureWinRMUri -ServiceName $serviceName -Name
$vmNameAD

Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDNSDelegation:$false `
-DatabasePath "v:windowsNTDS" `
-DomainMode "Win2012R2" `
-DomainName $pdomFQDN `
-DomainNetBiosName $pdomNetbios `
-ForestMode "Win2012R2" `
-InstallDns:$true `
-LogPath "v:windowsNTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath "v:windowsSYSVOL" `
-SafeModeAdministratorPassword (convertto-securestring $padminPassword -asplaintext -

#Setup AD
Import-Module -Name ServerManager
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools

$option = New-PSSessionOption -SkipCACheck

force) `
-Force:$true
} `
-ArgumentList $domNetbios, $domFQDN, $adminPassword

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#Création de la Vm "BUILD-VSBUILD" et mise dans le domaine
$vmBUILD = New-AzureVMConfig -name $vmNameBUILD -InstanceSize 'Large' -ImageName $imageVS |
Add-AzureProvisioningConfig -WindowsDomain -joindomain $domFQDN -Domain $domNetbios `
-DomainPassword $adminPassword -Password $adminPassword `
-DomainUserName $adminUserName -AdminUsername $adminUserName |
Set-AzureSubnet $vsubnetBUILD

New-AzureVM -ServiceName $serviceName -VMs $vmBUILD -VNetName $vnet -WaitForBoot

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE D’UN BUILD
CONTROLLER

#mstechdays

Code/developpement
MISE EN PLACE DU BUILD
CONTROLLER

#mstechdays

Code/developpement
CONCLUSION

#mstechdays

Code/developpement
CONCLUSION
Nous avons mis en place
–
–
–
–
–
–

#mstechdays

un backlog projet
un source control
un serveur d’intégration avec Azure Web Site
un build d’intrégration continue
un réseau Windows Azure
un controlleur de builds personnalisé

Code/developpement
CONCLUSION
Visual Studio Online et Windows Azure
• Simplifie l’industrialisation
• Permet l’agilité
• Permet l’amélioration continue
des sites web (mais pas que…)
#mstechdays

Code/developpement
CONCLUSION
Franck Farré
Architecte
ffarre@sqli.com
Fabrice Hautot
Chef de projet technique
fhautot@sqli.com

Ressources
http://www.technologies-ebusiness.com/

#mstechdays

Code/developpement
Digital is
business

Weitere ähnliche Inhalte

Was ist angesagt?

Pourquoi Azure a changé ma vie de développeur SharePoint
Pourquoi Azure a changé ma vie de développeur SharePointPourquoi Azure a changé ma vie de développeur SharePoint
Pourquoi Azure a changé ma vie de développeur SharePointMicrosoft
 
9 Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...
9   Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...9   Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...
9 Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...aOS Community
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkMicrosoft
 
Javascript pour les développeurs C#
Javascript pour les développeurs C#Javascript pour les développeurs C#
Javascript pour les développeurs C#Microsoft
 
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013 Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013 Microsoft Technet France
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...Microsoft Technet France
 
Cloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesCloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesMicrosoft
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 
Frameworks JavaScript en environnement MS
Frameworks JavaScript en environnement MSFrameworks JavaScript en environnement MS
Frameworks JavaScript en environnement MSSébastien Ollivier
 
Présentation de Microsoft Azure
Présentation de Microsoft AzurePrésentation de Microsoft Azure
Présentation de Microsoft AzureChristophe Peugnet
 
Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...
Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...
Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...Vincent Thavonekham-Pro
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
 
Le Cloud Hybride avec System Center 2012 R2 et Windows Azure
Le Cloud Hybride avec System Center 2012  R2 et Windows AzureLe Cloud Hybride avec System Center 2012  R2 et Windows Azure
Le Cloud Hybride avec System Center 2012 R2 et Windows AzureMicrosoft Technet France
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL Microsoft
 
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
Ouvrir vos plugins aux autres développeurs - WPTech NantesOuvrir vos plugins aux autres développeurs - WPTech Nantes
Ouvrir vos plugins aux autres développeurs - WPTech Nantescorsonr
 
L'envers du décor : le Modern-ALM dans - et par - les équipes produits Microsoft
L'envers du décor : le Modern-ALM dans - et par - les équipes produits MicrosoftL'envers du décor : le Modern-ALM dans - et par - les équipes produits Microsoft
L'envers du décor : le Modern-ALM dans - et par - les équipes produits MicrosoftMicrosoft
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2Microsoft
 

Was ist angesagt? (20)

Pourquoi Azure a changé ma vie de développeur SharePoint
Pourquoi Azure a changé ma vie de développeur SharePointPourquoi Azure a changé ma vie de développeur SharePoint
Pourquoi Azure a changé ma vie de développeur SharePoint
 
9 Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...
9   Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...9   Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...
9 Sécurisez vos services Office 365 avec Azure AD et Advanced Security Mana...
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity Framework
 
Javascript pour les développeurs C#
Javascript pour les développeurs C#Javascript pour les développeurs C#
Javascript pour les développeurs C#
 
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013 Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
Cloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesCloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiques
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Frameworks JavaScript en environnement MS
Frameworks JavaScript en environnement MSFrameworks JavaScript en environnement MS
Frameworks JavaScript en environnement MS
 
Présentation de Microsoft Azure
Présentation de Microsoft AzurePrésentation de Microsoft Azure
Présentation de Microsoft Azure
 
Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...
Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...
Gab2015 Cedric Derue Vincent Thavonekham Approche Devops pour builder une sol...
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
Le Cloud Hybride avec System Center 2012 R2 et Windows Azure
Le Cloud Hybride avec System Center 2012  R2 et Windows AzureLe Cloud Hybride avec System Center 2012  R2 et Windows Azure
Le Cloud Hybride avec System Center 2012 R2 et Windows Azure
 
Mon Stockage a la Cloud Attitude
Mon Stockage a la Cloud Attitude Mon Stockage a la Cloud Attitude
Mon Stockage a la Cloud Attitude
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
Créer des jeux 3D pour le web et pour le Windows Store avec BabylonJS/WebGL
 
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
Ouvrir vos plugins aux autres développeurs - WPTech NantesOuvrir vos plugins aux autres développeurs - WPTech Nantes
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
 
L'envers du décor : le Modern-ALM dans - et par - les équipes produits Microsoft
L'envers du décor : le Modern-ALM dans - et par - les équipes produits MicrosoftL'envers du décor : le Modern-ALM dans - et par - les équipes produits Microsoft
L'envers du décor : le Modern-ALM dans - et par - les équipes produits Microsoft
 
Windows 10 et PowerShell v5
Windows 10 et PowerShell v5Windows 10 et PowerShell v5
Windows 10 et PowerShell v5
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2
 

Ähnlich wie Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco

Mise en œuvre d’une démarche DevOps dans Windows Azure
Mise en œuvre d’une démarche DevOps dans Windows AzureMise en œuvre d’une démarche DevOps dans Windows Azure
Mise en œuvre d’une démarche DevOps dans Windows AzureMicrosoft Technet France
 
Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans AzureMicrosoft
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Vincent Thavonekham-Pro
 
SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...
SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...
SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...PimpMySharePoint
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamthavo001
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideMicrosoft Décideurs IT
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideMicrosoft Technet France
 
Implémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuellesImplémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuellesMicrosoft Technet France
 
Implémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuellesImplémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuellesMicrosoft Décideurs IT
 
System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco
System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco
System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco Microsoft Technet France
 
Expérience pratique de développement Azure
Expérience pratique de développement AzureExpérience pratique de développement Azure
Expérience pratique de développement AzureLevio
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Microsoft Décideurs IT
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Microsoft Technet France
 
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...Edouard DANEL
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!Chourouk HJAIEJ
 
Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !Estelle Auberix
 

Ähnlich wie Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco (20)

Azure Serverless C2S
Azure Serverless C2SAzure Serverless C2S
Azure Serverless C2S
 
Mise en œuvre d’une démarche DevOps dans Windows Azure
Mise en œuvre d’une démarche DevOps dans Windows AzureMise en œuvre d’une démarche DevOps dans Windows Azure
Mise en œuvre d’une démarche DevOps dans Windows Azure
 
Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans Azure
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
 
SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...
SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...
SharePoint Summit 2014 - Sauver votre argent, votre temps et vos cheveux grâc...
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 
Implémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuellesImplémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuelles
 
Implémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuellesImplémenter son Cloud privé pour héberger ses machines virtuelles
Implémenter son Cloud privé pour héberger ses machines virtuelles
 
System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco
System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco
System Center 2012 : Montez votre Cloud Privé avec NetApp et Cisco
 
Expérience pratique de développement Azure
Expérience pratique de développement AzureExpérience pratique de développement Azure
Expérience pratique de développement Azure
 
Adopter le cloud avec microsoft
Adopter le cloud avec microsoftAdopter le cloud avec microsoft
Adopter le cloud avec microsoft
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!Sécuriser votre site web azure, c'est simple maintenant!
Sécuriser votre site web azure, c'est simple maintenant!
 
Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !Sécuriser votre site web azure, c’est simple maintenant !
Sécuriser votre site web azure, c’est simple maintenant !
 

Mehr von Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Mehr von Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco

  • 1.
  • 2. Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et Monaco Franck Farré Architecte ffarre@sqli.com Fabrice Hautot Chef de projet technique fhautot@sqli.com SQLI www.sqli.com Code/Developpement
  • 3. Donnez votre avis ! Depuis votre smartphone sur : http://notes.mstechdays.fr De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les Techdays ! #mstechdays Code/developpement
  • 5. Sommaire • Le contexte • L’industrialisation • La méthodologie agile • Visual Studio Online et Azure • La mise en place • Backlog et Planification • Le lot #0 • L’infrastructure • Réalisation • Daily Scrum • Monaco • Tests et Build Automatique • Packaging • Azure VM et Virtual Network • Build Controller sur Azure #mstechdays Code/developpement
  • 7. INDUSTRIALISATION Intégration Continue La démarche Source Control Portail d’équipe Suivi de projet et indicateurs projet TU, TUC, TUA et UAT - Pragmatique - Progressive - Amélioration Continue #mstechdays Indicateurs qualités Code/developpement
  • 8. MÉTHODOLOGIE AGILE Basée sur Scrum #mstechdays Code/developpement
  • 11. VISUAL STUDIO ONLINE • Étend les capacités de l’IDE • Alternative à un TFS 2013 On Premise #mstechdays Code/developpement
  • 12. WINDOWS AZURE Le Cloud à notre service #mstechdays Code/developpement
  • 14. WINDOWS AZURE • Toujours accessible (SLA 99,95%) • Ouvert (API REST, commandlets PowerShell…) • Des solutions selon les usages #mstechdays Code/developpement
  • 16. METTRE EN PLACE LE BACKLOG Ecrire les exigences #mstechdays Code/developpement
  • 17. METTRE EN PLACE LE BACKLOG #mstechdays Code/developpement
  • 18. METTRE EN PLACE LE BACKLOG Elaboration d’un BackLog #mstechdays Code/developpement
  • 21. PLANIFIER ET SUIVRE Définition des itérations et création des tâches #mstechdays Code/developpement
  • 22. MISE EN PLACE DU LOT #0 L’environnement de développement et le framework applicatif #mstechdays Code/developpement
  • 23. LOT #0 • Création de la solution Visual Studio – Liée à une tâche d’initialisation – Création de l’arborescence projets • projets d’analyse • projets applicatifs • projets de documentation (ex: SHFB…) • projets de base de données • projets de tests • projets de déploiements #mstechdays Code/developpement
  • 24. LOT #0 Le diagramme d’architecture (Layer Diagram) • vision « macro » • Source de documentation • Validation à la compilation Attention : validation assez longue sur les projets volumineux. #mstechdays Code/developpement
  • 25. MISE EN PLACE DE LA SOLUTION Projets et diagramme de couches #mstechdays Code/developpement
  • 27. AZURE WEB SITE Permet la mise en place rapide • d’un environnement d’intégration • d’une intégration continue Idéal pour les projets configurables uniquement via le web.config #mstechdays Code/developpement
  • 28. AZURE WEB SITE Actions à mener • Création du web site windows azure • Autoriser la connexion entre Azure et VS Online Un build est automatiquement créé. #mstechdays Code/developpement
  • 29. CRÉATION DU PROJET VS / AZURE Mise en place de la liaison #mstechdays Code/developpement
  • 32. SPRINT BOARD Mise à jour des tâches #mstechdays Code/developpement
  • 33. EDITION EN LIGNE : « MONACO » Outil d’édition en ligne • Solution de « fixing » rapide • Option de « Staging » • Permet le maquettage HTML pure • Lié au source control Git pour le moment #mstechdays Code/developpement
  • 34. EDITION EN LIGNE : « MONACO » Les raccourcis à connaitre • « CTRL+E » pour trouver les options • « ? » Rappel les commandes principales #mstechdays Code/developpement
  • 35. EDITION D’UN PROJET AVEC MONACO #mstechdays Code/developpement
  • 38. COUTS DE MISE EN PLACE DE CETTE USINE ?? 0€ UNIQUEMENT DU TEMPS … #mstechdays Code/developpement
  • 41. AZURE VM POUR LE BUILD Quand le build Visual Studio Online ne suffit plus #mstechdays Code/developpement
  • 42. LIMITE DU BUILD VISUAL STUDIO ONLINE Le build Visual Studio Online pose les contraintes suivantes • Build < 1h et <75Go • Interdit – – – – #mstechdays installation de composants droits administrateurs connexion RDP au serveur de build mode « interactive » Code/developpement
  • 43. Azure VM est une option pour avoir son propre environnement de build / intégration. #mstechdays Azure VM Dans ce cas, nous utilisons un Build Controller interne et non hébergé par « Visual Studio Online ». Visual Studio Online DEFINIR UN BUILD CONTROLLER Code/developpement
  • 44. MISE EN PLACE D’UN BUILD CONTROLLER La cible • Un Active Directory • Un Serveur de Build Active Directory #mstechdays Code/developpement Build Server
  • 45. MISE EN PLACE D’UN BUILD CONTROLLER Le IAAS VM 1 VM 2 Subnet Availability Set Cloud Svc Virtual Network Storage Account Storage Account Affinity Group #mstechdays Code/developpement Region
  • 46. MISE EN PLACE D’UN BUILD CONTROLLER ## INITIALISATION DES COMMANDES POWERSHELL AZURE $subcriptionLocation = "C:Users<UserProfile>Downloads<SubscriptionName>credentials.publishsettings" ## Préparation des services azures, récupération de la subscription Azure Get-AzurePublishSettingsFile Import-AzurePublishSettingsFile $subcriptionLocation ## Pour retrouver les abonnements associés Get-AzureSubscription | Format-Table -Property SubscriptionName,SubscriptionId #mstechdays Code/developpement
  • 47. MISE EN PLACE D’UN BUILD CONTROLLER à utiliser # Définition de la subscription Select-AzureSubscription -SubscriptionName $subcriptionName # Création du groupe d'affinité New-AzureAffinityGroup -Name $affinity -Location $location -Description $descriptionAffinity #mstechdays Code/developpement
  • 48. MISE EN PLACE D’UN BUILD CONTROLLER # Ajout d'un Vnet 10.0.0.0/8 & "Subnet-AD" 10.0.1.0/29 & "Subnet-BUILD" 10.0.2.0/24 Set-AzureVNetConfig -ConfigurationPath $networkConfigLocation # Ajout du service cloud (accès public) New-AzureService -AffinityGroup $affinity -ServiceName $serviceName -Description $descriptionService Exemple de fichier de configuration XML <NetworkConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration"> <VirtualNetworkConfiguration> <VirtualNetworkSites> <VirtualNetworkSite name="Vnet-TD2014" AffinityGroup="Affinity-TD2014"> <AddressSpace> <AddressPrefix>10.0.0.0/8</AddressPrefix> </AddressSpace> <Subnets> <Subnet name="Subnet-AD"> <AddressPrefix>10.0.1.0/29</AddressPrefix> </Subnet> <Subnet name="Subnet-BUILD"> <AddressPrefix>10.0.2.0/24</AddressPrefix> </Subnet> </Subnets> </VirtualNetworkSite> </VirtualNetworkSites> </VirtualNetworkConfiguration> </NetworkConfiguration> #mstechdays Code/developpement
  • 49. MISE EN PLACE D’UN BUILD CONTROLLER # Ajout de compte de stockage New-AzureStorageAccount -StorageAccountName $accountStorage -AffinityGroup $affinity # Création de la VM AD Set-AzureSubscription -SubscriptionName $subcriptionName -CurrentStorageAccount $accountStorage # pour retrouver les images # Get-AzureVMImage | Where-Object {$_.OS -eq "Windows"} | Format-List -Property Label,ImageName,Description $vmAD = New-AzureVMConfig -name $vmNameAD -InstanceSize 'Small' -ImageName $image | Add-AzureProvisioningConfig -Windows -Password $adminPassword -AdminUsername $adminUserName | Set-AzureSubnet $vsubnetAD New-AzureVM -ServiceName $serviceName -VMs $vmAD -VNetName $vnet -DeploymentName Depl-BUILD WaitForBoot #Ajout disque pour du HDD pour l'AD "V" Get-AzureVM $serviceName -Name $vmNameAD | Add-AzureDataDisk -CreateNew -DiskLabel sysvol DiskSizeInGB 32 -LUN 2 -HostCaching None | Update-AzureVM #mstechdays Code/developpement
  • 50. MISE EN PLACE D’UN BUILD CONTROLLER #Credentials pour WinRmHTTPs $securePassword = ConvertTo-SecureString -String $adminPassword -AsPlainText –Force #Configuration de l’AD Invoke-Command ` -ConnectionUri $uri ` -Credential $adminCredentials ` -SessionOption $option ` -ScriptBlock { $adminCredentials = New-Object ` -TypeName System.Management.Automation.PSCredential ` -ArgumentList "$vmNameAD$adminUserName", $securePassword Param($pdomNetbios, $pdomFQDN, $padminPassword) #Initialise le disque v et format Initialize-Disk -Number 2 -PartitionStyle MBR New-Partition -DiskNumber 2 -UseMaximumSize -DriveLetter v Format-Volume -DriveLetter v -FileSystem NTFS -Confirm:$false #Récupération des informations de communication WinRmHTTPs $uri = Get-AzureWinRMUri -ServiceName $serviceName -Name $vmNameAD Import-Module ADDSDeployment Install-ADDSForest ` -CreateDNSDelegation:$false ` -DatabasePath "v:windowsNTDS" ` -DomainMode "Win2012R2" ` -DomainName $pdomFQDN ` -DomainNetBiosName $pdomNetbios ` -ForestMode "Win2012R2" ` -InstallDns:$true ` -LogPath "v:windowsNTDS" ` -NoRebootOnCompletion:$false ` -SysvolPath "v:windowsSYSVOL" ` -SafeModeAdministratorPassword (convertto-securestring $padminPassword -asplaintext - #Setup AD Import-Module -Name ServerManager Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools $option = New-PSSessionOption -SkipCACheck force) ` -Force:$true } ` -ArgumentList $domNetbios, $domFQDN, $adminPassword #mstechdays Code/developpement
  • 51. MISE EN PLACE D’UN BUILD CONTROLLER #Création de la Vm "BUILD-VSBUILD" et mise dans le domaine $vmBUILD = New-AzureVMConfig -name $vmNameBUILD -InstanceSize 'Large' -ImageName $imageVS | Add-AzureProvisioningConfig -WindowsDomain -joindomain $domFQDN -Domain $domNetbios ` -DomainPassword $adminPassword -Password $adminPassword ` -DomainUserName $adminUserName -AdminUsername $adminUserName | Set-AzureSubnet $vsubnetBUILD New-AzureVM -ServiceName $serviceName -VMs $vmBUILD -VNetName $vnet -WaitForBoot #mstechdays Code/developpement
  • 52. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 53. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 54. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 55. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 56. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 57. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 58. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 59. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 60. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 61. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 62. MISE EN PLACE D’UN BUILD CONTROLLER #mstechdays Code/developpement
  • 63. MISE EN PLACE DU BUILD CONTROLLER #mstechdays Code/developpement
  • 65. CONCLUSION Nous avons mis en place – – – – – – #mstechdays un backlog projet un source control un serveur d’intégration avec Azure Web Site un build d’intrégration continue un réseau Windows Azure un controlleur de builds personnalisé Code/developpement
  • 66. CONCLUSION Visual Studio Online et Windows Azure • Simplifie l’industrialisation • Permet l’agilité • Permet l’amélioration continue des sites web (mais pas que…) #mstechdays Code/developpement
  • 67. CONCLUSION Franck Farré Architecte ffarre@sqli.com Fabrice Hautot Chef de projet technique fhautot@sqli.com Ressources http://www.technologies-ebusiness.com/ #mstechdays Code/developpement

Hinweis der Redaktion

  1. 15mn
  2. 1- Création du projet depuis Vstudio (WebAPi / Tests)2- Création du site Azure « Custom » (North Europe ou idéalement West Europe)
  3. 1- Création du projet depuis Vstudio (WebAPi / Tests)2- Création du site Azure « Custom » (North Europe ou idéalement West Europe)
  4. Attention à l’option « PublishFrom Source Control » car cela écrasera le code modifié 
  5. 1- Création du projet depuis Vstudio (WebAPi / Tests)2- Création du site Azure « Custom » (North Europe ou idéalement West Europe)
  6. 1- Création du projet depuis Vstudio (WebAPi / Tests)2- Création du site Azure « Custom » (North Europe ou idéalement West Europe)
  7. 1- Création du projet depuis Vstudio (WebAPi / Tests)2- Création du site Azure « Custom » (North Europe ou idéalement West Europe)