Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Filtern von Projektelementen

Talend CI Builder ermöglicht Ihnen die Filterung und Auswahl der Projektelemente, die generiert werden sollen. Dadurch lässt sich die POM-Generierung um einiges beschleunigen.

Bei der Generierung von POM-Dateien stehen Ihnen die folgenden drei Haupt-Filterparameter zur Auswahl:
  • -DitemFilter
  • -DprojectFilter
  • -Dfilter.include.dependencies=true

Wenn der Parameter -DitemFilter nicht verwendet wird, ermöglicht der Parameter -DprojectFilter die Auswahl der Projekte, für die POM-Dateien generiert werden sollen. Wenn der Parameter -DitemFilter verwendet wird, dient der Parameter -DprojectFilter der Auswahl der Projekte, auf die der Parameter -DitemFilter angewendet werden soll. Die POM-Dateien der Projekte, die nicht im Wert -DprojectFilter angegeben wurden, werden allerdings ohne Anwendung von Filtern generiert.

Prozedur

  1. Checken Sie Ihre Git-Projekte aus.
    Weitere Informationen zum Auschecken von Git-Projekten finden Sie unter „Git-Checkout“.
  2. Führen Sie den Befehl mvn org.talend.ci:builder-maven-plugin:8.0.X:generateAllPoms aus:
    • Verwenden Sie den Parameter -DitemFilter zur Filterung der Projektelemente.

      Beispiel für einen Filter für Job-Typen:

      • -DitemFilter=(type=process) zur Ausfilterung aller Standard-Jobs
      • -DitemFilter=(type=process_mr) zur Ausfilterung aller Big Data Map/Reduce- und Spark Batch-Jobs
      • -DitemFilter=(type=process_storm) zur Ausfilterung aller Big Data Storm- und Spark Streaming-Jobs
      • -DitemFilter=(type=route) zur Ausfilterung aller Routen

      Beispiel für einen Filter für Job-Bezeichnungen:

      • -DitemFilter=(type=process)and(label=jobA) zur Ausfilterung eines spezifischen Jobs namens jobA
      • -DitemFilter=(type=process)and(label%job*) zur Ausfilterung von Jobs, deren Name mit job beginnt

      Beispiel für einen Filter für Job-Pfade:

      • -DitemFilter=(type=process)and(path=Integration) zur Ausfilterung der Jobs im Unterordner Integration
      • -DitemFilter=(type=process)and(path%Integration*) zur Ausfilterung der Jobs in Unterordnern, deren Name mit Integration beginnt.

      Beispiel für einen Filter für Job-Versionen:

      • -DitemFilter=(type=process)and(version=lastVersion) zur Ausfilterung der neuesten Version Ihrer Jobs

      Sie haben ebenfalls die Möglichkeit, die alten Versionen Ihrer Projektelemente in den Projekteinstellungen von Talend Studio zu entfernen.

      Beispiel für einen Filter für die Person, die den Job erstellt hat:

      -DitemFilter=(type=process)and(author=doc@talend.com) zur Ausfilterung der Jobs mit der Autoren-ID rdoc@talend.com

      Beispiel für einen Ausschlussfilter:

      • -DitemFilter=(!path=sandbox)and(type=process)and(label%jobA*)or(label%jobB* zur Ausfilterung von Jobs, deren Name mit jobA oder jobB beginnt, die jedoch nicht im Sandbox-Ordner gespeichert sind
      • -DitemFilter=(!path%MainProcess/Import*)and(type=process)and(label%job*) zur Ausfilterung von Jobs, deren Name mit job beginnt, die sich jedoch nicht in Unterordnern des MainProcess-Ordners befinden und die einen Namen beginnend mit Import aufweisen
      • -DitemFilter=(type=process)and(!label=job2)and(path%MainProcess/Export*) zur Ausfilterung von Jobs in Unterordnern des MainProcess-Ordners, deren Name mit Export beginnt, mit Ausnahme des Jobs namens job2
    • Verwenden Sie den zusätzlichen Parameter -Dfilter.include.dependencies=true, um alle Abhängigkeiten der ausgefilterten Projektelemente einzubeziehen und dadurch die POM-Generierung zu beschleunigen.

      Beispiel bei einem Hauptprojekt:

      -DitemFilter=my_parent_jobs -Dfilter.include.dependencies=true zur Generierung der POM-Dateien für die angegebenen übergeordneten Jobs und alle zugehörigen Subjobs und Joblets.

      Beispiel bei mehreren Projekten (mit Referenzprojekten):

      -DprojectFilter="mainA|mainB" -DitemFilter=my_parent_job_in_mainA_or_main B -Dfilter.include.dependencies=true zur Generierung der POM-Dateien für den angegebenen übergeordneten Job und alle zugehörigen Subjobs, Joblets der im Parameterwert -DprojectFilter angegebenen Projekte, d. h.:
      • parentJobA (übergeordneter Job A) mit den zugehörigen Subjobs und Joblets, die ebenfalls im Projekt mainA (HauptA) enthalten sind.
      • parentJobB (übergeordneter Job B) mit den zugehörigen Subjobs und Joblets, die ebenfalls im Projekt mainB (HauptB) enthalten sind.
      • Wenn mainA über die Referenzprojekte refA1 und refA2 und mainB über die Referenzprojekte refB1 und refB2 verfügt, dann werden alle Elemente der Projekte refA1, refA2, refB1 und refB1 generiert.

      Die Referenzprojekte der in -DprojectFilter angegebenen Projekte werden vollständig ohne Anwendung von Filtern generiert.

    InformationshinweisWichtig: Geben Sie den Namen Ihres Referenzprojekts nicht im Parameterwert -DprojectFilter ein. Andernfalls wird der Parameter -DitemFilter auf dieses spezifische Referenzprojekt angewendet und Sie müssen dann weitere Bedingungen in den Parameterwerten -DitemFilter hinzufügen, damit alle erforderlichen Jobs im Referenzprojekt generiert werden.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!