Continuous Integration with Windows Azure Websites

Beaucoup de démos en perspective.

Le speaker commence par rappeler l’importance de penser au déploiement dès le début du projet et de l’automatiser pour minimiser les risques et le faire plus souvent.

# Integration continue avec Team Foundation Service (tfs.visualstudio.com)

La première démo fait un tour rapide de TFS : dashboard, source control et surtout les builds, en utilisant un projet MVC avec des tests.

On crée ensuite un web site via le portail, et on le connecte au TFS ce qui crée automatiquement une définition de build avec test + déploiement !

# Deploiement Continue avec codeplex et github

Cette fois-ci on prend un projet node.js sur github.com

On crée un nouveau web site via le portail, on cree un git repository et on le connecte à github ce qui lance automatiquement une synchro du repository et un deploiement.

Pb sur github tout est public, donc on ne peut pas mettre de clés privées, de mots de passe… Pour cela on ajoute les config via le portail azure dans l’onglet Configure.

# Bring your own CI

La démo est un retour d’experience de murally.

Ils utilisent Jenkins comme moteur de CI : tests, YUI compressor, gzip, upload des assets dans amazon s3, git push

Leur service grossit rapidement et ils font des déploiements plusieurs fois par jour. L’objectif est de développer une feature, la tester, la déployer, mesurer son impact, la mettre a jour, la deployer etc.

Ses conseils :

1. prendre son moteur de CI préfère (team city, Jenkins, cc.net..)

2. utiliser les déploiements bases sur git plutôt que ftp ou web deploy pour pouvoir gérer un rollback rapidement

3. utiliser le même build pour tous les environnements

4. ne pas passer directement de son repository au cloud, mais avoir un point de retention

5. tout le monde dans l’équipe doit utiliser les mêmes outils

6. garder un build rapide (moins de 3 minutes)

7. ?

8. faire de l’intégration continue depuis le premier jour du projet

9. suivre les versions délivrées et utilisées

10. rester calme et être fier de tous ses déploiements (la livraison n’est jamais un stress)

# custom scripts

On peut spécifier son propre script de déploiement en ajoutant un fichier .deployment qui permet de spécifier le script à utiliser : un batch .bat ou un fichier javascript node.js

C’est encore tout neuf (ils ont écrit le script la semaine dernière), donc pour l’instant il manque les templates de scripts, les best practices, la doc, etc. et donc il faut tout faire tout seul.

Pour ceux qui ne sont pas encore convaincu de l’intérêt de l’intégration continue, qu’il regarde cette session ou vienne me voir ;-)! La combinaison Azure Web Sites et TFService est vraiment intéressante : c’est rapide à mettre en place et ça semble très efficace.

Pierre-Yves.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s