Filtrer l'exécution du projet sur un ou plusieurs Job(s) en particulier - 7.0

Talend Software Development Life Cycle - Guide de bonnes pratiques

author
Talend Documentation Team
EnrichVersion
7.0
EnrichProdName
Talend Big Data
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
task
Administration et monitoring
Création et développement
EnrichPlatform
Studio Talend
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Comment filtrer l'exécution des éléments de votre projet sur un ou des Job(s) en particulier. Pour cela, vous devez saisir certaines commandes Maven pour générer les sources de votre projet sur le serveur d'Intégration continue.

Avant de commencer

  • Vous avez créé le projet de build sur votre serveur d'Intégration continue, Jenkins par exemple. Voir Créer le projet Jenkins.
  • Vous connaissez le chemin d'accès aux différents fichiers .pom des Jobs que vous souhaitez exécuter. Ceux-ci sont accessibles depuis le workspace du Studio, dans le répertoire workspace/<my_project>/poms.

Procédure

  1. Ouvrez la page de configuration du projet de build.
  2. Dans le champ Goals and options de la zone Build (informations sur l'exécution ainsi que sur les paramètres nécessaires à la génération des sources), saisissez les commandes maven qui permettent de filtrer les Jobs selon vos besoins :
    • -pl pour générer les Jobs et les Tests associés situés dans un project spécifique (si vous avez plusieurs projets dans votre référentiel).

      Ex:

      -pl CI_PROJECT pour générer tous les Jobs et Tests situés dans le projet nommé CI_PROJECT.

      \jobs\process\job_feature400_0.1 -pl CI_PROJECT pour générer le Job nommé job_feature400_0.1 situé dans le projet nommé CI_PROJECT.

    • -am (si le projet est spécifié avec -pl) pour générer les dépendances enfant d'un/des Jobs spécifiés.

      Ex:

      \jobs\process\parent_job_feature334_0.1 -pl CI_PROJECT -am pour générer le Job parent nommé parent_job_feature334_0.1 ainsi que son Job enfant (child_job_feature334_0.1) et sous-enfant (subchild_job_feature334_0.1).

    • -amd (si le projet est spécifié avec -pl) pour générer les dépendances parent d'un/des Jobs spécifiés.

      Ex:

      \jobs\process\subchild_job_feature334_0.1 -pl CI_PROJECT -amd pour générer le Job sous-enfant subchild_job_feature334_0.1 qui a été modifié et re-générer les Jobs qui dépendent de celui-ci, child_job_feature334_0.1) et parent_job_feature334_0.1).

      Remarque : Étant donné que la commande -amd génère tous les modules qui dépendent de ce Job en particulier, toutes les dépendances nécessaires à la génération de ce Job, telles que les routines, doivent être générées au préalable.

    Exemple de commande Maven qui permet de nettoyer (clean) le répertoire du projet de build (supprimer les vieux fichiers), générer tous les Jobs et Tests du projet CI_PROJECT et les regrouper le code Java dans un fichier de sortie au format .jar, .war, .zip, etc (package) :

    mvn clean package -pl CI_PROJECT -am

    Exemple de commande Maven qui permet de nettoyer (clean) le répertoire du projet de build (supprimer les vieux fichiers), générer tous les Jobs et Tests existants et déployer les packages sur le référentiel snapshots de Nexus :

    mvn clean deploy -DaltDeploymentRepository=snapshots::default::http://localhost:8081/repository/snapshots
  3. Enregistrez vos changements et fermez la page de configuration.

Résultats

Lorsque vous exécuterez votre projet sur votre serveur d'Intégration continue, les commandes seront appliquées et seuls les Jobs et Tests que vous avez filtrés seront générés et exécutés.