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
InformationshinweisAnmerkung: Es wird empfohlen, -DitemFilter immer mit -DprojectFilter zu verwenden.

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:

      • -DprojectFilter="main" -DitemFilter=(type=process) zum Filtern nach allen Standard-Jobs
      • -DprojectFilter="main" -DitemFilter=(type=process_mr) zum Filtern nach allen Big Data Map/Reduce- und Spark-Batch-Aufträgen
      • -DprojectFilter="main" -DitemFilter=(type=process_storm) zum Filtern nach allen Big Data Storm- and Spark-Streaming-Jobs
      • -DprojectFilter="main" -DitemFilter=(type=route) zum Filtern nach allen Routen

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

      • -DprojectFilter="main" -DitemFilter=(type=process)and(label=jobA) zum Filtern nach einem spezifischen Job namens jobA
      • -DprojectFilter="main" -DitemFilter=(type=process)and(label%job*) zum Filtern nach Jobs, deren Namen mit job beginnt

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

      • -DprojectFilter="main" -DitemFilter=(type=process)and(path=Integration) zum Filtern nach Jobs, die sich in einem Unterordner Integration befinden
      • -DprojectFilter="main" -DitemFilter=(type=process)and(path%Integration*) zum Filtern nach Jobs in Unterordnern, deren Namen mit Integration beginnt

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

      • -DprojectFilter="main" -DitemFilter=(type=process)and(version=lastVersion) zum Filtern nach 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:

      -DprojectFilter="main" -DitemFilter=(type=process)and(author=doc@talend.com) zum Filtern nach Jobs, deren Autoren-ID doc@talend.com lautet

      Beispiel für einen Ausschlussfilter:

      • -DprojectFilter="main" -DitemFilter=(!path=sandbox)and(type=process)and(label%jobA*)or(label%jobB*) zum Filtern nach Jobs, deren Name mit jobA oder jobB beginnt, die jedoch nicht im Sandbox-Ordner gespeichert sind
      • -DprojectFilter="main" -DitemFilter=(!path%MainProcess/Import*)and(type=process)and(label%job*) zum Filtern nach Jobs, deren Name mit job beginnt, die sich jedoch nicht in Unterordnern mit einem Namen beginnend mit Import unter dem Ordner MainProcess befinden
      • -DprojectFilter="main" -DitemFilter=(type=process)and(!label=job2)and(path%MainProcess/Export*) zum Filtern nach Jobs in Unterordnern, deren Namen mit Export beginnt, unter dem Ordner MainProcess, 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:

      -DprojectFilter="main" -DitemFilter=my_parent_jobs -Dfilter.include.dependencies=true zum Generieren der POM-Dateien der angegebenen übergeordneten Jobs und aller 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!