Filtrer l'exécution du projet sur des artefacts sélectionnés - Cloud

Talend Software Development Life Cycle pour le Cloud - Guide de bonnes pratiques

Version
Cloud
Language
Français (France)
Product
Talend Cloud
Module
Studio Talend
Talend Artifact Repository
Talend Management Console
Content
Administration et monitoring
Création et développement
Déploiement
Pour filtrer l'exécution de vos éléments de projets, afin de construire uniquement les artefacts de votre choix, vous devez déclarer le filtre dans les paramètres de Maven saisis lors de la configuration du projet de build, générant vos sources de projets sur le serveur d'intégration continue.

Avant de commencer

  • Vous avez créé le pipeline de build sur votre serveur d'Intégration continue, Jenkins par exemple. Consultez Création du pipeline Jenkins.
  • Vous connaissez le chemin des fichiers pom des artefacts que vous souhaitez exécuter (Jobs Standards, Jobs Big Data, Routes, etc.). Ceux-ci sont accessibles depuis le workspace du Studio, dans le répertoire workspace/<my_project>/poms.
    Conseil :
    • Pour filtrer sur les Jobs standards, utilisez le chemin jobs/process/jobName_version.
    • Pour filtrer sur les Jobs Big Data Jobs, utilisez le chemin jobs/process_mr/jobName_version.
    • Pour filtrer sur les Routes, utilisez le chemin jobs/routes/routeName_version.
    • Pour filtrer sur les Services de données, utilisez le chemin jobs/services/serviceName_version

Procédure

  1. Ouvrez la page de configuration du pipeline.
  2. Dans la zone Script, modifiez les commandes et paramètres Maven afin de filtrer les Jobs en fonction de vos besoins :
    • -pl pour générer un artefact spécifique (Job et Test, Route, etc.) plutôt que l'ensemble des artefacts du projet.
      Exemple :
      -pl jobs/process/job_feature956_0.1
      pour déployer uniquement le Job Standard job_feature956 avec une version 0.1.
      Conseil : Pour lancer le build de plusieurs artefacts, séparez les noms des artefacts par des virgules.
    • -am (si l'artefact est spécifié avec -pl) pour générer simultanément les dépendances enfant d'un artefact du projet en particulier.
      Exemple :
      -pl jobs/process/jobparent_feature950_0.1 -am

      pour déployer le Job parent nommé jobparent_feature950 avec une version 0.1 ainsi qu'avec le Job enfant (jobchild_feature950_0.1) et le Job enfant de second niveau (jobsubchild_feature950_0.1).

    • -amd (si le projet est spécifié avec -pl) pour générer simultanément les dépendances parent d'un artefact du projet en particulier.

      Exemple :

      -pl jobs/process/jobsubchild_feature950_0.1 -amd
      pour générer le Job enfant de second niveau nommé jobsubchild_feature950 avec une version 0.1, ainsi que les Jobs dépendants de celui-ci, jobchild_feature950_0.1) et jobparent_feature950).
      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

    Exemple de commande Maven permettant de nettoyer (clean) le répertoire de build du projet (supprimer les vieux fichiers), de générer la Route route_feature950 et ses dépendances, déployer les packages dans le référentiel Nexus Artifactory défini :

    -fae -e -pl jobs/routes/route_feature950_0.1 -amd

    Le paramètre -amd est obligatoire afin de publier une Route, puisque les dépendances de la Route doivent être générées pour la publier.

    Exemple de commande Maven qui permet de nettoyer (clean) le répertoire du projet de build (supprimer les vieux fichiers), générer le Job parent nommé parent avec ses dépendances (Jobs enfants) et publier ces artefacts sur Talend Cloud Management Console :

    -Pcloud-publisher -pl jobs/process/parent_0.1 -am

    Exemple de commande Maven permettant de prendre le projet généré et de créer un package avec le code Java de tous les artefacts du projet dans une image Docker.

    -Pdocker package -fae -e
  3. Sauvegardez vos modifications et fermez la page de configuration.

Résultats

Lorsque vous exécuterez votre projet sur votre serveur d'Intégration continue, le filtre sera appliqué et seuls les artefacts que vous aurez filtrés seront générés et exécutés.