Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Déployer un Cloud Service

Poster un commentaire

Après avoir vu en détail le déploiement de Web Services:

https://amethyste16.wordpress.com/2014/05/07/creer-et-deployer-un-web-site-web-dans-azure-en-10-minutes-chrono

https://amethyste16.wordpress.com/2014/05/30/creer-un-web-site-suite

 

Nous allons déployer des Cloud Services et découvrir que cela n’a rien de très compliqué.

La différence importante est que cette fois on ne déploie pas directement un site, mais des rôles, chacun d’entre eux pouvant avoir 1 ou plusieurs instances.

Si vous ne vous souvenez plus ce qu’est un Cloud Service lisez ceci:

https://amethyste16.wordpress.com/2013/09/22/focus-sur-les-windows-azure-virtual-machine/

 

On peut procéder de 3 façons:

  1. Depuis Visual Studio
  2. Via un package
  3. Via Web Deploy

 

Commençons par créer un projet de test. La création du projet ne se fait pas avec le même Template que celui utilisé par les Web Site:

2014-06-02_20-43-11

Nous ajoutons un Web Role et un Worker Role:

2014-06-02_20-45-08

Je tons un coup d’œil sur ce que nous obtenons:

2014-06-02_20-50-34

Notre projet Web est parfaitement normal. Rien de particulier dans le fichier de configuration. Nous voyons juste un nouveau fichier: WebRole.cs.

C’est une instance de RoleEntryPoint. Il n’entre pas dans le cadre de cet article d’expliquer à quoi cela sert. Mais voici de la lecture:

http://blogs.msdn.com/b/jnak/archive/2010/02/11/windows-azure-roleentrypoint-method-call-order.aspx

 

Vous pouvez noter que ce fichier est indispensable uniquement pour les Worker Roles.

Le projet correspondant au Worker Role a une structure similaire:

2014-06-02_21-17-43

Si ce n’est que ce n’est pas un site Web, disons que cela ressemble à un projet de librairie.

Le projet vraiment nouveau est celui-ci:

2014-06-02_21-20-42

C’est dans le fichier .cscfg que l’on paramètre le nombre d’instances de chaque rôle. Mais on peut aussi le faire depuis le portail.

Bref à vous de voir ce que vous souhaitez ajouter ou modifier dans ces fichiers.

Ensuite il y a deux façons de procéder.

 

Depuis Visuel Studio

  • Clic droit sur le projet avec les paramètres Windows Azure
  • Après une éventuelle authentification:

2014-06-02_21-49-24

  • Faire Next

2014-06-02_22-02-00

On déployer dans un Cloud Service existant ou bien en créer un nouveau (Option New dans la liste déroulante Cloud Service).

Prenez le temps d’explorer les différentes options.

  • Cliquer sur Publish

On peut suivre le déploiement depuis le portail ou bien l’onglet Windows Azure Activity:

2014-06-02_22-06-27

Il ne reste plus qu’à vérifier que le site fonctionne.

Depuis le portail

Evidemment tout le monde ne dispose pas de Visual Studio, il faut donc qu’il existe une solution alternative.

  •  On fait à nouveau Clic droit, mais on sélectionne Package

2014-06-02_23-14-58

  • Faire Package

Les deux fichiers suivants sont créés dans l’explorateur de fichier:

ServiceConfiguration.Cloud.cscfg

WindowsAzure6.cspkg

C’est le package que l’on va déployer avec le portail.

Prenez le temps de repérer dans quel répertoire à lieu la création du package.

  • Ouvrez ensuite le portail.

Soit vous créez un nouveau Cloud Service pour déployer dedans, soit vous déployez dans un Cloud Service existant. Dans les deux cas rendez vous dans le dashboard:

2014-06-03_18-45-12

  • Sélectionnez PRODUCTION ou STAGING
  • On clique sur Upload:

 

2014-06-03_19-00-33

Je coche « Deploy even if one or more roles contain a single instance. » parce que je n’ai qu’une instance de chaque rôle.

  • Les fichiers sont en local, on va donc les charger en cliquant sur FROM LOCAL.

Le premier fichier en en .cspkg, le second est en .cscfg.

  • On termine avec OK
  • Et on teste!

 

Si vous souhaitez republier un Cloud Service existant:

2014-06-03_19-11-19

 

Déploiement Web Deploy

Ce mode permet de déployer rapidement des changements incrémentaux dans un Web Role sans avoir à créer de package.

Mais il y a des contraintes:

  • le rôle ne doit avoir qu’une seule instance
  • la modification est temporaire, si jamais le rôle est relancé elle est perdue
  • Ne concerne que les Web Role

 

Vous l’avez compris ce mode de déploiement est surtout utile en développement.

Reprenons notre projet de test qui est déjà déployé et procédons à une modification sur la page d’accueil, par exemple:

2014-06-04_15-36-26

On doit d’abord configurer Remote Desktop.

  • Sélectionner le projet de paramétrage Windows Azure et faites click droit.
  • Choisir le menu Configure Remote Desktop

2014-06-04_15-43-25

  • On pourrait aussi aller dans Publish/Settings

2014-06-03_20-58-03

 

  • Et cocher « Enable Remote Desktop« 

 

2014-06-03_21-00-04

  • On clique sur More options

Une liste de certificats que l’on peut utiliser pour sécuriser le déploiement apparaît. Le bouton View permet de visualiser le certificat. Le certificat permettra d’encrypter les credentials que l’on va fournir.

On peut en choisir un ou en créer un nouveau en sélectionnant l’option Create dans la liste déroulante.

 

Note:

Comme alternative on peut aussi charger le certificat directement via le portail:

2014-06-04_15-58-20

Si vous avez besoin d’informations supplémentaires:

http://msdn.microsoft.com/en-us/library/ff683672.aspx

 

Supposons que l’on dispose d’un certificat, peut importe de quelle manière.

  • Saisir les credential.
  • Cochez ensuite « Enable Web Deploy« 
  • Puis Publish

 

Une fois le déploiement terminé, votre modification doit apparaître en rechargeant le site.

Notez que votre certificat doit maintenant apparaître dans l’onglet CERTIFICATE sur le portail.

 

 

 

 

 

 

 

 

 

 

 

 

Publicités

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