Filtrer les éléments des projets - Cloud

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

Version
Cloud
Language
Français
Product
Talend Cloud
Module
Studio Talend
Talend Artifact Repository
Talend Management Console
Content
Administration et monitoring
Création et développement
Déploiement

Le Builder d'intégration continue Talend vous permet de filtrer et spécifier les éléments de projet à générer afin d'accélérer la génération des POM.

Les trois paramètres de filtre principaux que vous pouvez utiliser lors de la génération de fichiers POM sont :
  • -DitemFilter
  • -DprojectFilter
  • -Dfilter.include.dependencies=true

Lorsque le paramètre -DitemFilter n'est pas utilisé, le paramètre -DprojectFilter est utilisé pour sélectionner les projets pour lesquels générer les fichiers POM. Lorsque le paramètre -DitemFilter est utilisé, le paramètre -DprojectFilter est utilisé pour sélectionner les projets pour lesquels le paramètre -DitemFilter doit être appliqué. Cependant, les fichiers POM des projets qui ne sont pas indiqués dans la valeur -DprojectFilter seront générés lorsqu'aucun filtre n'est appliqué.

Procédure

  1. Effectuer un checkout de vos projets Git.
    Pour plus d'informations concernant la procédure de checkout d'un projet Git, consultez Git Checkout (en anglais).
  2. Exécutez la commande mvn org.talend.ci:builder-maven-plugin:8.0.X:generateAllPoms :
    • Utilisez le paramètre -DitemFilter pour filtrer les éléments des projets.

      Exemple de filtre sur les types de Jobs :

      • -DitemFilter=(type=process) pour filtrer sur tous les Jobs Standard
      • -DitemFilter=(type=process_mr) pour filtrer sur tous les Jobs Big Data Map/Reduce et Spark Batch
      • -DitemFilter=(type=process_storm) pour filtrer sr tous les Jobs Big Data Storm et Spark Streaming
      • -DitemFilter=(type=route) pour filtrer sur toutes les Routes

      Exemple de filtre sur les libellés de Jobs :

      • -DitemFilter=(type=process)and(label=jobA) pour filtrer sur un Job spécifique nommé jobA
      • -DitemFilter=(type=process)and(label%job*) pour filtrer sur les Jobs dont le nom commence par job

      Exemple de filtre sur les chemins de Jobs :

      • -DitemFilter=(type=process)and(path=Integration) pour filtrer sur les Jobs situés dans un sous-dossier nommé Integration
      • -DitemFilter=(type=process)and(path%Integration*) pour filtrer sur les Jobs situés dans des sous-dossiers dont le nom commence par Integration

      Exemple de filtre sur les versions des Jobs :

      • -DitemFilter=(type=process)and(version=lastVersion) pour filtrer sur la dernière version de vos Jobs.

      Vous avez également la possibilié de supprimer les anciennes versions de vos éléments de projets dans les paramètres des projets du Studio Talend.

      Exemple de filtre sur les personnes qui ont créé le Job :

      -DitemFilter=(type=process)and(author=doc@talend.com) pour filtrer sur les Jobs dont l'identifiant de l'auteur est doc@talend.com

      Exemple de filtre d'exclusion :

      • -DitemFilter=(!path=sandbox)and(type=process)and(label%jobA*)or(label%jobB*) pour filtrer sur les Jobs dont le nom commence par jobA ou jobB qui ne se situent pas dans le dossier sandbox
      • -DitemFilter=(!path%MainProcess/Import*)and(type=process)and(label%job*) pour filtrer sur les Jobs dont le nom commence par job, mais qui ne se trouvent pas dans les sous-dossiers dont le nom commence par Import dans le dossier MainProcess
      • -DitemFilter=(type=process)and(!label=job2)and(path%MainProcess/Export*) pour filtrer sur les Jobs situés dans les sous-dossiers dont le nom commence par Export dans le dossier MainProcess, à l'exception du Job nommé job2
    • Utilisez le paramètre -Dfilter.include.dependencies=true supplémentaire pour inclure toutes les dépendances de vos éléments de projets filtrés et accélérer la génération des POM.

      Exemple pour un projet principal :

      -DitemFilter=my_parent_jobs -Dfilter.include.dependencies=true pour générer les fichiers POM des Jobs parents indiqués, ainsi que de leurs sous-Jobs et Joblets.

      Exemple pour plusieurs projets (avec des projets de référence) :

      -DprojectFilter="mainA|mainB" -DitemFilter=my_parent_job_in_mainA_or_main B -Dfilter.include.dependencies=true pour générer les fichiers POM du Job parent indiqué, ainsi que ceux de ses sous-Jobs et Joblets des projets indiqués dans le paramètre -DprojectFilter, par exemple :
      • JobparentA et ses sous-Jobs et Joblets également dans le projet principalA,
      • JobparentB et ses sous-Jobs et Joblets également dans le projet principalB,
      • si le principalA contient les projets de référence refA1 et refA2 et que le principalB contient les projets de référence refB1 et refB2, alors tous les éléments des projets refA1, refA2, refB1 et refB1 seront générés.

      Les projets de référence indiqués dans -DprojectFilter sont générés complètement lorsqu'aucun filtre n'est appliqué.

    Important : Ne saisissez pas le nom de votre projet de référence dans le paramètre -DprojectFilter, sinon le paramètre -DitemFilter sera appliqué à ce projet de référence spécifique et vous devrez ajouter plus de conditions dans les valeurs du paramètre -DitemFilter pour générer tous les Jobs nécessaires dans le projet de référence.