< Précédent | Suivant >

Leçon 2 : Créer des processus de composant

Les processus de composant décrivent les tâches automatisées qui s'exécutent sur les composants. Ils peuvent déployer, installer, désinstaller, mettre à jour ou exécuter d'autres tâches sur un composant.
On distingue trois types de processus :
  • Les processus génériques s'exécutent hors du contexte des composants ou des applications.
  • Les processus d'application s'exécutent dans le contexte des applications. Dans de nombreux cas, les processus d'application appellent des processus de composant. Par exemple, un processus d'application peut appeler les processus de composant qui déploient ces composants.
  • Les processus de composant opèrent sur un seul composant, par exemple pour le déployer, le désinstaller ou exécuter des tâches de configuration sur celui-ci.

Les processus consistent d'une liste d'étapes et des connexions entre ces étapes. Chaque étape représente une commande individuelle qui s'exécute sur un ordinateur cible. Les étapes peuvent manipuler des fichiers, lancer des commandes système, télécharger des fichiers et exécuter des programmes. Des plug-in participent à ces étapes. Des plug-in sont disponibles pour de nombreux types de logiciels différents.

Chaque composant doit posséder un processus de composant au moins pour déployer ou installer le composant. Au cours de cette leçon, vous allez créer un processus de déploiement pour chacun des trois composants. Ensuite, vous allez créer un processus d'application qui appelle ces processus de composant afin de déployer chaque composant.

Création d'un processus de composant pour le composant Web

Le processus de composant pour le composant Web télécharge la version la plus récente des artefacts de composant et place ces artefacts dans le dossier approprié.
Procédez comme suit pour créer le processus de composant qui déploie le composant Web :
  1. Dans l'onglet Composants, cliquez sur le composant JPetStore-WEB.
  2. Cliquez sur Processus, puis sur Créer un processus.
  3. Dans la fenêtre Créer un processus, spécifiez le nom Déployer le composant Web.
  4. Dans la liste Type de processus, sélectionnez Déploiement. Cette liste propose d'autres options pour les processus qui désinstallent ou configurent des composants.
  5. Acceptez les valeurs par défaut pour les autres propriétés, puis cliquez sur Sauvegarder.
  6. Dans la liste des processus, cliquez sur le nouveau processus. Le processus s'ouvre dans l'éditeur de processus. L'éditeur affiche les étapes du processus dans un format graphique, sous forme de diagramme par exemple. Les cases Démarrer et Terminer représentent le début et la fin du processus. A partir de là, vous ajoutez des étapes au processus et les liez entre les étapes Démarrer et Terminer afin d'afficher leur ordre.
  7. Ajoutez une étape pour effacer les fichiers du répertoire de travail. Le processus s'exécute dans un répertoire de travail. Pour vous assurer que vous utilisez la version la plus récente des fichiers dans le composant Web, exécutez une commande de nettoyage du répertoire de travail :
    1. A gauche de l'éditeur de processus, sous Etapes de plug-in disponibles, développez Utilitaires > FileUtils. Le menu Etapes de plug-in disponibles affiche les étapes disponibles. Vous pouvez explorer les arborescences pour rechercher des étapes ou entrer du texte dans la zone de recherche en haut de la fenêtre.
    2. Sous l'élément d'arborescence FileUtils, cliquez et faites glisser l'étape Supprimer des fichiers et des répertoires dans l'éditeur de processus. La fenêtre Editer les propriétés s'ouvre et affiche les propriétés de l'étape. Certaines de ces propriétés sont uniques ; d'autres sont les mêmes pour toutes les étapes.
    3. Dans la zone Nom, spécifiez le nom Nettoyer le répertoire de travail.
    4. Dans la zone Répertoire de base, spécifiez un point (.).
    5. Dans la zone Inclure, spécifiez un astérisque (*).
    6. Acceptez les valeurs par défaut pour les autres propriétés, puis cliquez sur Sauvegarder.
    La nouvelle étape apparaît sous forme de case dans l'éditeur de processus. Plus tard, vous connecterez cette étape aux autres étapes du processus. L'éditeur de processus ressemble à la figure suivante :
    Nouveau processus avec une étape dans le flux
  8. Ajoutez une étape pour télécharger la version la plus récente des artefacts de composant. L'étape Télécharger les artefacts est utilisée dans la plupart des processus de type déploiement. Elle télécharge la version spécifiée des artefacts de composant sur l'ordinateur cible. Lorsque vous exécutez le processus, vous spécifiez si la version la plus récente des artefacts de composant ou une version spécifique doit être utilisée.
    1. Sous Etapes de plug-in disponibles, développez Référentiels > Artefact > IBM UrbanCode Deploy et faites glisser l'étape Télécharger les artefacts dans l'éditeur de processus.
    2. Dans la fenêtre Editer les propriétés, acceptez les valeurs par défaut, puis cliquez sur Sauvegarder.
  9. Ajoutez une étape pour supprimer l'ancien contenu Web du serveur :
    1. Développez Utilitaires > FileUtils et faites glisser une autre étape Supprimer des fichiers et des répertoires dans l'éditeur de processus.
    2. Dans la fenêtre Editer les propriétés, spécifiez le nom Supprimer l'ancien contenu.
    3. Dans la zone Répertoire de base, spécifiez le répertoire suivant :
      webapps/JPetStore
    4. Dans la zone Inclure, spécifiez le répertoire suivant :
      images
    5. Dans la zone Répertoire de travail, spécifiez la variable suivante :
      ${p:environment/tomcat.home}
      Cette variable représente le dossier principal du serveur Web Tomcat. Vous spécifierez une valeur pour cette variable ultérieurement.
    6. Acceptez les valeurs par défaut pour les autres zones et cliquez sur Sauvegarder.
  10. Ajoutez une étape pour déployer le nouveau contenu sur le serveur. Cette étape copie les artefacts de composant sur le serveur d'applications.
    1. Développez Utilitaires > FileUtils et faites glisser une étape Déplacer le répertoire dans l'éditeur de processus.
    2. Dans la fenêtre Editer les propriétés, spécifiez le nom Déployer le nouveau contenu.
    3. Dans la zone Répertoire source, spécifiez un point (.).
    4. Dans la zone Répertoire de destination, spécifiez le répertoire suivant :
      ${p:environment/tomcat.home}/webapps/JPetStore/
    5. Dans la zone Inclure des fichiers, spécifiez le code suivant :
      images/*
    6. Acceptez les valeurs par défaut pour les autres zones et cliquez sur Sauvegarder.
    A présent, le processus compte quatre étapes, comme dans l'image suivante :
    Les quatre étapes du processus, qui sont placées dans l'ordre entre les étapes Démarrer et Terminer

Chaque étape présente deux icônes dans son coin supérieur droit. L'icône verte Editer ouvre la même fenêtre Editer les propriétés qui s'ouvre lorsque vous créez l'étape. L'icône X supprime l'étape.

De plus, si vous déplacez la souris sur une étape, une icône en forme de flèche apparaît au centre de l'étape. Elle permet de créer des liens entre les étapes.

Clic sur le bouton en forme de flèche au centre de l'étape

  1. Connectez les étapes dans leur ordre d'exécution :
    1. Déplacez la souris sur l'étape Démarrer, puis cliquez et faites glisser l'icône en forme de flèche vers l'étape Nettoyer le répertoire de travail. La flèche entre ces étapes représente le flux d'activité d'une étape à l'autre, comme dans la figure suivante :
      Lien qui connecte l'étape Démarrer à l'étape Nettoyer l'espace de travail
    2. De la même façon, faites glisser une flèche de l'étape Nettoyer l'espace de travail vers l'étape Télécharger les artefacts.
    3. Faites glisser une flèche de l'étape Télécharger les artefacts vers l'étape Supprimer l'ancien contenu.
    4. Faites glisser une flèche de l'étape Supprimer l'ancien contenu vers l'étape Déployer le nouveau contenu.
    5. Faites glisser une flèche de l'étape Déployer le nouveau contenu vers l'étape Terminer.
    Vous pouvez connecter les étapes séquentiellement, comme ici, ou exécuter les étapes parallèlement les unes aux autres en créant d'autres liens. Toutefois, les processus commencent toujours par l'étape Démarrer et se terminent toujours par l'étape Terminer. La séquence des étapes dans ce processus est la suivante :
    1. Démarrer
    2. Nettoyer l'espace de travail
    3. Télécharger les artefacts
    4. Supprimer l'ancien contenu
    5. Déployer le nouveau contenu
    6. Terminer
  2. Sauvegardez le processus en cliquant sur l'icône Sauvegarder sous Outils.
Le processus de composant complet pour le composant Web est similaire à la figure suivante :
Processus de composant complet, qui supprime l'ancienne version des artefacts et déploie la nouvelle version sur le serveur d'applications

Création d'un processus de composant pour le composant d'application

Le composant d'application se compose d'un fichier WAR unique. Il télécharge la version la plus récente du fichier WAR, met à jour les valeurs dans le fichier et déploie le fichier sur le serveur d'applications.
  1. Depuis l'onglet Composants, cliquez sur le composant JPetStore-APP.
  2. Cliquez sur Processus, puis sur Créer un processus.
  3. Dans la fenêtre Créer un processus, spécifiez le nom Déployer le composant d'application.
  4. Dans la liste Type de processus, sélectionnez Déploiement.
  5. Acceptez les valeurs par défaut pour les autres propriétés, puis cliquez sur Sauvegarder.
  6. Dans la liste des processus, cliquez sur le nouveau processus afin de l'ouvrir dans l'éditeur de processus.
  7. Ajoutez une étape afin de nettoyer le répertoire de travail. Comme pour le composant Web, ajoutez une étape Supprimer des fichiers et des répertoires appelée Nettoyer le répertoire de travail et spécifiez un point dans la zone Répertoire de base et un astérisque dans la zone Inclure.
  8. Ajoutez une étape pour télécharger les artefacts. Comme pour le composant Web, ajoutez une étape Télécharger les artefacts et acceptez les propriétés par défaut.
  9. Ajoutez une étape pour extraire le fichier WAR. Vous devez extraire le fichier WAR pour pouvoir mettre à jour un fichier de propriétés avec les informations de connexion à la base de données.
    1. Dans la liste des étapes, développez le dossier Utilitaires > FileUtils et faites glisser une étape Décompresser dans l'éditeur de processus.
    2. Spécifiez le nom Développer le fichier WAR.
    3. Dans la zone Répertoire d'extraction, spécifiez le code suivant :
      ./JPetStore_expanded
    4. Dans la zone Fichiers .zip, spécifiez le fichier suivant :
      JPetStore.war
    5. Cliquez sur Sauvegarder.
  10. Ajoutez une étape pour mettre à jour le fichier de propriétés avec l'emplacement de la base de données :
    1. Dans la liste des étapes, développez le dossier Utilitaires > FileUtils et ajoutez une étape Mettre à jour le fichier de propriétés dans l'éditeur de processus.
    2. Spécifiez le nom Mettre à jour le fichier de propriétés.
    3. Dans la zone Décalage de répertoire, spécifiez le dossier suivant :
      ./JPetStore_expanded/WEB-INF/classes/properties
    4. Dans la zone Fichier de propriétés, spécifiez le fichier suivant :
      database.properties
    5. Dans la zone Ajouter/Mettre à jour les propriétés, spécifiez le code suivant :
      url=${p:environment/db.url}
      Ce code met à jour la propriété url dans le fichier de propriétés avec l'emplacement de la base de données. Le code ${p:environment/db.url} est une variable qui représente l'emplacement du composant de base de données lorsque l'application est déployée.
    6. Cliquez sur Sauvegarder.
  11. Ajoutez une étape pour mettre à jour le fichier WAR avec le nouveau fichier de propriétés.
    1. Depuis la liste des étapes, développez le dossier Utilitaires > FileUtils et ajoutez une étape Créer un fichier .zip dans l'éditeur de processus.
    2. Spécifiez le nom Mettre à jour le fichier WAR.
    3. Dans la zone Nom du fichier .zip, spécifiez le fichier JPetStore.war.
    4. Dans la zone Répertoire de base, spécifiez le dossier suivant :
      ./JPetStore_expanded
    5. Dans la zone Inclure, spécifiez le code suivant :
      **/*
    6. Sélectionnez la case à cocher Mettre à jour existants.
    7. Cliquez sur Sauvegarder.
  12. Ajoutez une étape pour démarrer Tomcat :
    1. Dans la liste des étapes, développez le dossier Serveur d'applications > Java > Tomcat et ajoutez une étape Démarrer Tomcat à l'éditeur de processus. Si cette étape n'apparaît pas dans l'arborescence, installez le plug-in Tomcat comme décrit dans la rubrique Configuration requise de ce tutoriel.
    2. Acceptez le nom par défaut Démarrer Tomcat.
    3. Dans la zone Lanceur, spécifiez le code suivant :
      ${p:environment/tomcat.start}
      Ce code est une autre variable qui représente la commande de démarrage de Tomcat.
    4. Dans la zone Délai de démarrage (en secondes), spécifiez 60 secondes.
    5. Dans la zone Port, spécifiez le port 8080.
    6. Cliquez sur Sauvegarder.
  13. Ajoutez une étape pour supprimer toute version précédente de l'application :
    1. Dans la liste des étapes, développez le dossier Serveur d'applications > Java > Tomcat et ajoutez une étape Annuler le déploiement de l'application dans l'éditeur de processus.
    2. Acceptez le nom par défaut Annuler le déploiement de l'application.
    3. Dans la zone URL du gestionnaire Tomcat, spécifiez le code suivant :
      ${p:environment/tomcat.manager.url}
    4. Dans la zone Nom d'utilisateur Tomcat Manager, spécifiez le nom d'utilisateur pour le serveur Tomcat. Vous avez spécifié ce nom d'utilisateur et son mot de passe dans Configuration de l'agent et du système cible. Si vous avez utilisé les exemples de code de cette rubrique, le nom d'utilisateur et le mot de passe sont tomcatmanager.
    5. Dans la zone Mot de passe Tomcat Manager, spécifiez le mot de passe pour le serveur Tomcat.
    6. Dans la zone Nom de contexte, spécifiez le nom de contexte suivant, avec la barre oblique qui le précède :
      /JPetStore
    7. Cliquez sur Sauvegarder.
  14. Ajoutez une étape pour déployer le fichier WAR mis à jour sur le serveur d'applications :
    1. Dans la liste des étapes, développez le dossier Serveur d'applications > Java > Tomcat et ajoutez une étape Déployer l'application à l'éditeur de processus.
    2. Acceptez le nom par défaut Déployer l'application.
    3. Dans la zone URL du gestionnaire Tomcat, spécifiez le code suivant :
      ${p:environment/tomcat.manager.url}
    4. Dans la zone Nom d'utilisateur Tomcat Manager, spécifiez le nom d'utilisateur pour le serveur Tomcat.
    5. Dans la zone Mot de passe Tomcat Manager, spécifiez le mot de passe pour le serveur Tomcat.
    6. Dans la zone Nom de contexte, spécifiez le nom de contexte suivant :
      /JPetStore
    7. Dans la zone Chemin d'accès au fichier WAR, spécifiez le chemin suivant :
      ./JPetStore.war
    8. Cliquez sur Sauvegarder.
  15. Connectez les étapes dans l'ordre suivant :
    1. Démarrer
    2. Nettoyer l'espace de travail
    3. Télécharger les artefacts
    4. Développer le fichier WAR
    5. Mettre à jour le fichier de propriétés
    6. Mettre à jour le fichier WAR
    7. Démarrer Tomcat
    8. Annuler le déploiement de l'application
    9. Déployer l'application
    10. Terminer
  16. Remplacez l'indicateur conditionnel du lien entre les étapes Annuler le déploiement de l'application et Déployer l'application par les deux en cliquant sur la coche verte de la connexion jusqu'à ce qu'elle devienne un cercle gris, comme dans la figure suivante :
    Clic sur la coche verte entre les étapes Annuler le déploiement de l'application et Déployer l'application pour la transformer en cercle gris
    Chaque connexion d'une étape à une autre possède un indicateur conditionnel. Celui-ci spécifie une condition pour la connexion. Trois indicateurs conditionnels sont disponibles :
    • Par défaut, l'indicateur conditionnel de chaque connexion a pour valeur succès et est représenté par une coche verte. Le processus suit ces connexions lorsque l'étape aboutit.
    • L'indicateur conditionnel échec est représenté par un tiret rouge (-). Le processus suit ces connexions lorsque l'étape échoue.
    • L'indicateur conditionnel les deux est représenté par un cercle gris. Le processus suit ces connexions que l'étape aboutisse ou échoue.
    L'étape Annuler le déploiement de l'application échoue si aucune version précédente de l'application n'est installée. Dans ce cas, l'indicateur conditionnel de la connexion les deux spécifie que le processus est toujours en cours d'exécution, si l'étape échoue ou aboutit.
  17. Sauvegardez le processus.
Le processus de composant complet pour le composant d'application est similaire à la figure suivante :
Processus de composant complet qui déploie l'application

Création d'un processus de composant pour le composant de base de données

Le processus de déploiement pour le composant de base de données met à jour la base de données avec des exemples de valeur.
  1. Dans l'onglet Composants, cliquez sur le composant JPetStore-DB.
  2. Cliquez sur Processus, puis sur Créer un processus.
  3. Dans la fenêtre Créer un processus, spécifiez le nom Déployer le composant de base de données.
  4. Dans la liste Type de processus, sélectionnez Déploiement.
  5. Acceptez les valeurs par défaut pour les autres propriétés, puis cliquez sur Sauvegarder.
  6. Dans la liste des processus, cliquez sur le nouveau processus afin de l'ouvrir dans l'éditeur de processus.
  7. Ajoutez une étape pour télécharger les artefacts. Comme pour le composant Web, ajoutez une étape Télécharger les artefacts et acceptez les propriétés par défaut.
  8. Ajoutez une étape pour mettre à jour la base de données :
    1. Dans la liste des étapes, développez le dossier Base de données > DBUpgrader et ajoutez une étape Mettre la base de données à niveau à l'éditeur de processus. Si cette étape n'apparaît pas dans l'arborescence, installez le plug-in de mise à niveau de base de données (DBUpgrader) comme décrit dans la rubrique Configuration requise de ce tutoriel.
    2. Dans la fenêtre Editer les propriétés, dans la zone Nom, acceptez la valeur par défaut Mettre la base de données à niveau.
    3. Dans la zone Nom de classe du pilote, spécifiez la classe suivante :
      com.mysql.jdbc.Driver
    4. Dans la zone Fichier jar de pilote de base de données, spécifiez le chemin suivant :
      lib/mysql-connector-java-5.1.20-bin.jar
      Ce fichier est fourni dans le code source du composant.
    5. Dans la zone URL, spécifiez la variable suivante :
      ${p:environment/db.url}
    6. Dans la zone Utilisateur, spécifiez l'ID utilisateur de l'utilisateur de base de données. Si vous avez utilisé les exemples de la rubrique Configuration de l'agent et du système cible, l'ID utilisateur est jpetstore.
    7. Dans la zone Mot de passe, spécifiez le mot de passe de l'utilisateur de base de données. Si vous avez utilisé les exemples de la rubrique Configuration de l'agent et du système cible, le mot de passe est jppwd.
    8. Dans la zone Chemin d'accès au fichier SQL, spécifiez un point : . .
    9. Dans la zone Inclusion du fichier SQL, spécifiez l'extension *.xml.
    10. Dans la zone SQL de la version en cours, spécifiez le code SQL suivant :
      SELECT VER FROM DB_VERSION WHERE RELEASE_NAME = ?
    11. Dans la zone Supprimer le SQL de la version, spécifiez le code SQL suivant :
      DELETE FROM DB_VERSION WHERE RELEASE_NAME = ?
    12. Dans la zone Mettre à jour le SQL de la version, spécifiez le code SQL suivant :
      INSERT INTO DB_VERSION (RELEASE_NAME,VER) VALUES(?,?)
    13. Cliquez sur Sauvegarder.
  9. Connectez les étapes dans l'ordre suivant :
    1. Démarrer
    2. Télécharger les artefacts
    3. Mettre la base de données à niveau
    4. Terminer
  10. Sauvegardez le processus.
Le processus de composant complet pour le composant de base de données est similaire à la figure suivante :
Processus de composant complet qui déploie la base de données

Récapitulatif de la leçon

Au cours de cette leçon, vous avez créé des processus de composant pour déployer les composants.

Vous pouvez utiliser des processus de composant pour automatiser de nombreuses tâches différentes concernant les composants. Toutefois, vous ne pouvez pas exécuter les processus de composant directement. Ultérieurement dans ce tutoriel, vous allez créer un processus d'application pour ces trois processus de composant.

Les processus se déclinent en étapes, fournies par les plug-ins. Pour consulter la liste des plug-ins disponibles et la documentation à propos des pug-ins et étapes, visitez la page IBM developerWorks à l'adresse suivante : UrbanCode Deploy Plug-ins.

< Précédent | Suivant >

Commentaires en retour