Déployer un site sur IIS via un job Jenkins

Dans ce billet nous allons voir comment déployer un site sur IIS à l’aide de Jenkins. Pour cela, quelques prérequis :

  • Le projet à déployer doit être intégré à un contrôle de sources (dans notre exemple nous utiliserons SVN)
  • Posséder une machine (dans notre exemple la machine s’appellera « dotnet-web » avec IIS et Microsoft Web Deploy d’installés
  • Avoir une plateforme d’intégration Jenkins ayant la possibilité d’utiliser MSBuild
  • Avoir un site créé sur IIS (dans notre exemple le site s’appellera «DemoBlog »)

Création du Job

  • Cliquer sur « Nouveau Job » 2013-05-17_1632.png

2013-05-17_1754.png

  • Nommer le job, dans notre cas nous l’appellerons « DemoBlog-Deploy »
  • Sélectionner « Construire un projet free-style »

Configuration du Job

2013-05-17_1641.png

  • Sélectionner la gestion de code source sur laquelle votre projet est disponible (ici Subversion)
  • Dans la section « Ce qui déclenche le build » je recommande de laisser tout désactivé à moins de vouloir déployer le site à chaque commit.

2013-05-20_1016.png

  • Dans la section « Build », cliquer sur « Ajouter une étape au build » puis séléctionner « Build a Visual Studio projet or solution using MSBuild » puis indiquez les informations suivantes :
  • MSBuild Version : MSBuild 4.0
  • MSBuild Build File : DemoBlog.sln (le fichier de solution de votre site)
  • Command Line Arguments :

/t:clean /t:rebuild /p:Configuration=Debug /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=RemoteAgent /p:CreatePackageOnPublish=True /p:DeployIisAppPath="DemoBlog" /p:MsDeployServiceUrl=dotnet-web /p:username=administrateur /p:password=ServerPassword

Arrêtons-nous un instant sur cette dernière ligne qui est très importante et passons en revue chacun des arguments.

  • /t:clean : Nettoie la solution
  • /t:rebuild : Rebuild la solution
  • /p:Configuration=Debug : La configuration utilisée pour générer la solution (Debug / Release)
  • /p:DeployOnBuild=True : Pour déployer le site après chaque build
  • /p:DeployTarget=MsDeployPublish : La cible du déploiement (ici MS Deploy)
  • /p:MSDeployPublishMethod=RemoteAgent : La méthode de déploiement sur la cible
  • /p:CreatePackageOnPublish=True : Pour créer un package .zip contenant le résultat de la publication
  • /p:DeployIisAppPath="DemoBlog" : Le chemin du site sur IIS. Si vous voulez déployer dans un sous-site il suffit de séparer les valeurs par un « / » de la manière suivante « Site/SousSite »
  • /p:MsDeployServiceUrl=dotnet-web : le nom ou l’ip de la machine sur laquelle vous souhaitez déployer l’application
  • /p:username=administrateur : Le login du compte avec lequel vous allez réaliser le déploiement
  • /p:password=ServerPassword : Le mot de passé du compte utilisateur

Cliquer ensuite sur « Sauver »

Lancement du build et vérification

Tout est en place vous pouvez désormais lancer le build via le lien « Lancer le build »
Vérifiez alors que le build s’exécute bien en scrutant la sortie console. Une fois le build en succès vous pouvez retourner dans IIS constater que le site a bien été déployé.

Plus d'informations

Installation MS-Build sur Jenkins : https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.