Partager via


Création de scripts de déploiement pour des flux de travail de génération, de déploiement et de test

Pour déployé votre application avec flux de travail compilation-deploiement-test, vous devez d'abord créer des scripts de deploiement et ensuite les ajoutés à votre build.Les scripts de déploiement sont des fichers BAT ou CMD copient des parties de votre build vers des machines spécifique de votre environnement lab.Si votre build contient un package d'installation, vous pouvez aussi utilisé vos scripts de deploiement pour éxécuter le package d'installation.Lorsque vous créez votre flux de travail compilation-deploiement-test, vous ajoutez des commandes aux flux de travail qui éxécutent vos scripts de déploiement.Lorsque vos éxécutez votre flux de travail, le contrôleur de build éxécute ces commandes dans le répertoire de travail sur les machines spécifiés dans votre environnement lab.

Consultez Comment : créer un flux de travail de génération, de déploiement et de test pour un environnement SCVMM ou Comment : créer un flux de travail de génération, de déploiement et de test pour un environnement standard.Ces sections parlent de comment créer et utiliser des scripts de déploiement avec votre flux de travail compilation-deploiement-test:

  • Préparation de fichiers de build pour un déploiement.

  • L'écriture de vos scripts de déploiement.

  • La construction de vos scripts de déploiement.

  • Configuration de vos répertoires de travail.

  • L'Ajout de scripts de déploiement à votre flux de travail.

    1. Variables integrés.

Configuration requise

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional

Préparation de fichiers de build pour un déploiement.

La façon dont vous choissisez d'installer votre application determine les tâches premières que vos scripts de déploiement doivent accomplir.L'installation de votre application peut seulement demander de copier un EXE vers une machine cliente, ou ça peut demander d'éxécuter un package de déploiement qui installe plusieurs fichiers sur plusieurs machines.Le tableau suivant décrit chacun de ces tâches pour chaque type de déploiement.

Important

Si votre application à besoin des prérequis logiciels qui ne sont pas installé et configuré par vos scripts de deploiement avant que votre application soit deployé, vous devez manuellement les installer lorsque vous préparer les machines dans votre environnement lab.Si vous utilisez un environnement SCVMM qui déploie des snapshots d'environnement, vous devez vous assurez que les snapshots ont les prérequis logiciels d'installé.

Type d'installation

Description

Package de déploiement de Service Web

Mise en gardeAttention
So vous deployez une application qui utilise IIS, le serveur IIS dans votre environnement lab vous devez avoir le Web Deployement Agent Service de configurer avant de déployé votre application.

Vos scripts de deployment doivent copier vos fichiers de build et votre package de déploiement vers les machines cible dans votre environnement lab, puis éxécuter le package de déploiement.Pour faire cela, vous devez passé un nom de domaine, un nom de compte de service, et un nom de serveur TFS pour vos scripts de déploiement, comme parametres.Ce type d'installation réquiert généralement que vous installiez manuellement et configuriez les prerequis logiciels comme un serveur web ou un serveur de base de données avant de déployé votre application.Configuration des prérequis logiciels peuvent être des tâches spécifiques qui permettent le déploiement d'application sur la machine cible.Par exemple, si votre application utilise IIS, le serveur IIS dans votre environnement lab doit avoir le Web Deployement Agent Service de configurer avant de déployé votre application.

Fichiers build sans package d'installation

Vos scripts de déploiement doivent copier votre application et fichers de build vers la machine cible dans votre environnement lab.

Package d'installation.

Mise en gardeAttention
Si vous êtes en train de déployé un package d'installation avec votre flux de travail compliation-deploiement-test, vos scripts de déploiement doivent gérer les entrées utilisatateur qui sont générer lorsqu'ils éxécutent votre package d'installation sinon votre déploiement échouera.

Vos scripts de deployment doivent copier vos fichiers d'installation vers les machines cible dans votre environnement lab, puis éxécuter le package d'installation.Lorsque vos scripts de déploiement éxécutent votre package d'installation, ils doivent s'assurer que c'est une installation silencieuse.L'entré utilisateur requis par l'installation doit être gérer par vos scripts de déploiement.Ceci comprent les informations d'identification.Si vos scripts de déploiement ne gérent pas tous les entrés utilisateurs quand ils éxécuteront votre package d'installation, votre déploiement d'application échouera.Si vous ne déployé pas une application Web, et vous avez besoin d'un package d'installation pour votre déploiement, nous recommandons que vous utilisiez un package d'installation InstallShield.Consultez Windows Installer Deployment pour plus d'informations sur InstallShield.

L'écriture de vos scripts de déploiement.

Ils sont recommandés pour la plupart tâches commune éxécuté par des scripts de déploiement.

  • Récuperer le chemin de build sur votre contrôleur de build.Vous pouvez envoyer ceci à votre script de déploiement comme un argument de commande.

  • Spécifiez votre chemin de déploiement.

  • Créez un répertoire pour votre déploiement.Vous pouvez aussi faire ceci manuellement au lieu de votre script de déploiement.Si vous utilisez un environnement snapshot de pré-déploiement avec votre flux de travail, il vous faut juste créer le répertoire sur vos machines virtuelles dans vos snapshot.

  • Copier votre package de déploiement depuis le chemin de la build vers votre chemin de déploiement.

  • Exécutez le package de déploiement suivant dans votre répertoire de déploiement.

Les commandes suivantes sont recommandés pour la plupart tâches commune éxécuté par des scripts de déploiement.

REM set build path
set buildlocation=%1

REM set deployment path
set targetdir="C:\deploy"

REM create deployment directory
if not exist %targetdir% (cmd /c mkdir %targetdir%)

REM copy build to the deployment directory
xcopy /c /y /e %buildlocation%\*.* %targetdir%

REM if you are using a deployment package you can run it here, after you copy it to your deployment directory

La construction de vos scripts de déploiement.

Après avoir créer vos scripts de déploiement, vous devez archiver vos modifications dans le contrôle de version, et ensuite les configurer pour qu'ils soient copié vers votre sortie de build.Pour compiler vos scripts de déploiement, vous devez vous assurez qu'ils sont stocké sous votre projet Visual Studio, et pas que dans votre solution.Vous pouvez faire ça dans Visual Studio en sélectionnant votre script de déploiement dans l' Explorateur de Solution, puis sous Propriétés, changez Copies le repertoire de sorte à Toujours copier

Configuration de vos répertoires de travail.

Vous pouviez spécifié un répertoire de travail pour chaque commande que vous ajoutez à votre flux de travail compilation-deploiement-test.Lorsque vous spécifiez le répertoire votre le contrôleur de build éxécutera les commandes dans le répertoire de travail sur chaque machine qui est assigné à ce rôle.Si vous ne spécifiez pas un répertoire de travail quand vous ajoutez des commandes à votre flux de travail compilation-déploiement-test, votre le contrôleur de build éxécutera les commandes dans le répertoire de travail par défaut-C:\Windows\System32

Important

Ne créez pas de répertoire de travail en utilisant les commandes que vous avez ajoute à votre flux de travail complication-déploiement-test; si vous le faites, les répertoires ne seront pas crées avant que vos scripts de déploiement essayent de copier les fichiers vers ces répertoires.

Si vous spécifiez un répertoire de travail, vous devez vous assurez que le répertoire est crée avant que vos scripts de déploiement copient des fichers vers ce répertoire.Ne créez pas des répertoires de travail avec les commandes que vous utilisé pour ajouté vos scripts de déploiement à votre flux de travail compilation-déploiement-test.Si vous le faites, les répertoires ne seront pas crées avant que vos scripts de déploiement essaient de copier les fichiers vers les répertoires.Pour vous assuré qu'un répertoire de travail est crée avant vos scripts de déploiement y copient des fichers, vous devez manuellement créer un répertoire sur les machines cibles dans votre lab environnement, ou le répertoire doit être crée par votre script de déploiement avant qu'une commande y copie des fichiers.

L'Ajout de scripts de déploiement à votre flux de travail.

Ajouter des commandes de shell Windows à flux de travail compilation-deploiement-test pour déployer votre application dans votre lab environnement.Si vous utilisez des scripts de deployment, les commandes doivent copier vos scripts de déploiement depuis votre contrôleur de build vers les dossiers de travail des les machines cibles, puis y éxécuté les scripts de déploiements.Néanmoins, pour des installations d'application simple cela nécéssiste de copier quelques fichiers vers le répertoire de travail, vous pouvez utilisez des commandes shell dans votre flux de travail sans spécifié des scripts de déploiement externe.

Si vous voulez ajouter une commande exécutée à partir d'une fenêtre d'invite telle que mkdir ou exécuter un fichier de commandes, vous devez faire commencer la commande par cmd /c.Par exemple, la commande cmd /c $(BuildLocation)\copyexe $(BuildLocation) où copyexe est le fichier de commandes copyexe.bat qui copie un exécutable dans un répertoire local de l'ordinateur virtuel.

Variables integrés: Quand vous ajoutez ces commands à votre flux de travail compilation-déploiement-test, vous pouvez utilisé des variables intégrés pour identifiés certains chemins ou machines.Vous pouvez également passez ces variables dans vos scripts de déploiement.

  • $(BuildLocation)
    Le chemin d'accès complet ou vos fichiers de build sont situés, ou dans le lieu de dépose de build-si un est configuré dans votre flux de travail compliation-déploiement-test.Utilisez cette variable pour accédez à vos fichiers de build.

  • $(InternalComputerName_<VM Name>)
    Le nom de l'ordinateur pour une machine virtuelle dans un environnement SCVMM.Utilisez ce variable pour accédez à un hôte de machine virtuelle quand vous ne conaissez pas le nom de l'ordinateur de l'hôte.Si vous utilisez un script de déploiement pour configurer un serveur Web qui requiert le nom de l'ordinateur, vous pouvez passer ce nom en tant qu'argument au script.Par exemple, si le nom de l'ordinateur virtuel pour le serveur Web était VM1 et que le nom de l'ordinateur était MonServeurWeb, vous entrez $(InternalComputerName_VM1) comme argument pour votre script afin de passer la valeur MyWebServer à votre script.

  • $(ComputerName_<VM Name>)

    [!REMARQUE]

    L'isolation réseau dans un environnement SCVMM: Si vous utilisez l'isolement réseau pour votre environnement SCVMM, la valeur de $(InternalComputerName_<VM Name>) est la même pour l'instance d'un ordinateur virtuel dans chaque copie de cet environnement, mais celle de $(ComputerName_<VM Name>) est différente.

    Utilisez le nom de domain qualifié complet de l'ordinateur virtuel.Utiliser ce variable pour accéder à un ordinateur, depuis l'extérieur de l'environnement SCVMM.Vous pouvez passer ce variable en tant qu'argument pour configurer un serveur Web.Par exemple, si le nom de l'ordinateur virtuel pour le serveur Web est VM1, vous pouvez accédez le nom de domaine qualifié complet de l'ordinateur virtuel en passant par l'argument $(ComputerName_VM1) de votre script de déploiement

Voir aussi

Concepts

Configuration de flux de travail de génération, de déploiement et de test automatisés