TalendのカスタムMavenビルドのオプション - 8.0

Talendソフトウェア開発ライフサイクルベストプラクティスガイド

Version
8.0
Language
日本語 (日本)
Product
Talend Big Data
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Module
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Talend Studio
Content
ジョブデザインと開発
デプロイメント
管理と監視
継続的インテグレーションサーバーでアーティファクトをビルド、実行、公開する時にパスできるオプションです。
Talendは、標準のMavenベースの継続的インテグレーション(CI)実装を利用します。CI Mavenコマンドは通常、次のようになります:
mvn \
        -f <project name>/poms/pom.xml \
        -am -pl <comma separated list of jobs modules> \
        -Dgeneration.type=local
        -Dproduct.path=<CommandLine path>
        -Dlicense.path=<license local path or url> \
        -Dtalend.studio.p2.base=<update site base url> \
        -Dtalend.studio.p2.update=<update folder path or url> \
clean deploy
例:
mvn -f C:/CI_CD/MYPROJECT/poms/pom.xml clean deploy -fae -e -pl jobs/process/priorTest_0.1 -am 
-Dproduct.path=C:/Talend/cmdlineX -Dlicense.path=C:/Talend/studio/license 
-Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2022-01
-Dproject.distributionManagement.snapshotRepository.url=http://localhost:8081/repository/snapshots/ 
-Dproject.distributionManagement.snapshotRepository.id=snapshots 
-DaltDeploymentRepository=snapshots::default::http://localhost:8081/repository/snapshots/

Talend関連のMavenパラメーター

Mavenパラメーター
Talend CommandLineパラメーター -Dproduct.path

Talend CommandLineインストールディレクトリーへのパス。

例:
-Dproduct.path=/opt/Talend/commandline8
バージョン8以降のTalend Studioには、新規または既存のTalend Studioをアップグレードすると、Talend CommandLineをインストールできる2つのスクリプト(Windows版のcommandline_upgrade.batと Linux版のcommandline-linux_upgrade.sh)が追加されています。
-Dp2Installer.path インストーラーファイルのパスです。

-Dprduct.pathが指定されている場合、Talend CommandLineはこのパラメーターで指定されている値でインストールされます。

例:
-Dproduct.path=/home/.installation/.commandline_8
-Dp2Installer.path=/home/.installation/.p2Installer_8
これにより、製品のバージョンごとに別々のパスを使用できるようになります。
-Dlicense.path Talend製品のライセンスへのパスです。

ライセンスパスの値がURLで、アクセスに認証情報が必要な場合は、パラメーター-Dlicense.remote.user-Dlicense.remote.passwordを使います。

-Dtalend.studio.p2.base=<base/release p2 site url> Talend StudioのP2リポジトリーをダウンロードできるサーバーのURLアドレス。

アーカイブフォルダーへのパスにすることはできません。

TomcatアプリケーションにP2リポジトリーを組み込む方法の例については、アーティファクトの実行をスケジューリングする前にを参照してください。

例:
-Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
このパラメーターは、P2更新サイトアーカイブ(Talendから提供)を有するユーザーのみが対象です。
-Dtalend.studio.p2.update=<update p2 site url> 累積パッチをダウンロードできるフォルダーのURLアドレスまたはパス。
例:
-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2022-01
このパラメーターは、P2更新サイトアーカイブ(Talendから提供)を有するユーザーのみが対象です。
-Dpatch.path インストールしたパッチ、またはインストールしたいパッチ(手動パッチ、カスタムコンポーネントパッチ、ホットフィックスなど)へのパス。
パッチをローカルにインストールした場合の例:
-Dpatch.path=D:/patches/Patch_TPS-2222.zip,D:/patches/Patch_TPS-3333.zip
ダウンロードするパッチの例:
-Dpatch.path=http://localhost:8085/nexus/content/repositories/releases/Patch_TPS-2222.zip,http://localhost:8085/nexus/content/repositories/releases/Patch_TPS-3333.zip

リモートパッチがある場所へのアクセスで認証情報が必要となる場合は、-Dpatch.remote.userパラメーターと-Dpatch.remote.passwordパラメーターを使用します。patch.remote.passwordパラメーターによって、Mavenで暗号化されるパスワードを設定できます。

-DforceUpdate

-Dinstaller.clean

-U

更新サイトからの更新をインストールする時に必要なパラメーター:
  • -DforceUpdateは、ローカルインストールが存在する場合も、この更新サイトからのTalend CommandLineのインストールを強制します。
    例:
    -DforceUpdate=true
  • -Dinstaller.cleanは、ビルドの正しい実行に必要なプラグインをすべて再ダウンロードします。
    例:
    -Dinstaller.clean=true
  • -U (値なし)は、ビルドの正しい実行に必要なJARファイルをすべて再ダウンロードします。
-Dgeneration.type アーティファクトのソースを生成する値としてlocalと入力すると、ビルドの実行中にTalend CommandLineを実行していなくてもテストをローカルに行うことができます。
例:
-Dgeneration.type=local

server生成タイプはサポート対象ではなくなりました。

-Dcommandline.skip アーティファクトのソースコード生成をスキップするための値として、trueと入力します。

このパラメーターは、以前にTalend CommandLineを使用してアーティファクトを生成したことがある場合のみ使用できます。

例:
-Dcommandline.skip=true
-DprojectFilter 特定のプロジェクトのみ構築できます。
CIで始まる名前を持つすべてのプロジェクトに対するフィルタリングの例:
-DprojectFilter="CI.*"
-DitemFilter 特定のプロジェクトアイテムのみ構築できます。

ジョブタイプをフィルタリングする例:

-DitemFilter=(type=process): プロジェクトの標準ジョブをすべてフィルタリングします

-DitemFilter=(type=process_mr): プロジェクトのBig Data Map/ReduceジョブとSpark Batchジョブをすべてフィルタリングします

-DitemFilter=(type=process_storm): プロジェクトのBig Data StormジョブとSpark Streamingジョブをすべてフィルタリングします

-DitemFilter=(type=route): プロジェクトのルートをすべてフィルタリングします

ジョブラベルをフィルタリングする例:

-DitemFilter=(type=process_mr)and(label=job_ProcessWeatherData): job_ProcessWeatherDataという特定のBig Data Map/Reduceジョブをフィルタリングします

-DitemFilter=(type=process)and(label%job_dev*): 名前がjob_devで始まるジョブをフィルタリングします

ジョブパスのをフィルタリングする例:

-DitemFilter=(type=process)and(path=Integration): Integrationというサブフォルダーにあるジョブをフィルタリングします

-DitemFilter=(type=process)and(path%Integration*): 名前がIntegrationで始まるサブフォルダーにあるジョブをフィルタリングします

ジョブの作成者をフィルタリングする例:

-DitemFilter=(type=process_storm)and(author=rbunch@talend.com): 作成者IDがrbunch@talend.comのBig Data Storm Streamingジョブをフィルタリングします

除外フィルターの例:

-DitemFilter=(!path=sandbox)and(type=process)and(label%job_Export*)or(label%job_Monitor*): 名前がjob_Exportまたはjob_Monitorで始まりますが、サンドボックスフォルダーにないジョブをフィルタリングします

-DitemFilter=(!path%MainProcess/Import*)and(type=process)and(label%job_Export*): 名前がjob_Exportで始まりますが、MainProcessフォルダーの下の名前がImportで始まるサブフォルダーにないジョブをフィルタリングします

MainProcessフォルダーの下の名前がExportで始まるサブフォルダーにあるBig Data Spark Batchジョブ(job_batch_feature22というジョブを除く)を実行するために適用されるフィルターの例:

-DitemFilter=(type=process_mr)and(!label=job_batch_feature22)and(path%MainProcess/Export*)

-Dtalend.job.context-Dtalend.job.applyContextToChildren ジョブのビルド、およびジョブ実行のスケジューリング時は、ビルド時に全ジョブに適用するコンテキストグループを指定します。
devという名前のコンテキストグループを親ジョブにのみ適用し、デフォルトのコンテキストグループを子ジョブに適用する場合の例:
-Dtalend.job.context=dev 
devという名前のコンテキストグループを親ジョブに適用し、同じコンテキストグループを子ジョブに適用する場合の例:
-Dtalend.job.context=dev -Dtalend.job.applyContextToChildren=true 

指定したコンテキストグループがジョブに存在しない場合は、デフォルトのコンテキストグループが適用されます。

-DforceMavenOnline オフラインモードでジョブのビルドや実行のスケジューリングを行う際に依存項目のエラーが発生した場合は、Maven設定ファイルで定義されている内容に従って、Studioが依存項目をダウンロードできるようになります。

次のエラーが表示されることがあります:

Plugin X.Y.Z or one of its dependencies could not be resolved: Cannot access central

POMファイルにはジョブの実行に必要な依存項目がすべて含まれているため、このエラーはビルド前にPOMファイルをすべて再生成することでも回避できます。

カスタムコンポーネントのパラメーター -Dcomponents.* カスタムコンポーネントを使用するジョブをアーティファクトリポジトリーにデプロイする時は、コンポーネントライブラリーが保存されているリポジトリーを指定します。

これは、Talend Component Kitを使って作成されたカスタムコンポーネントにのみ必要です。

詳細は、このドキュメンテーションを参照してください。

例:
-Dcomponents.nexus.user=<user> 
-Dcomponents.nexus.password=<password> 
-Dcomponents.nexus.url=http://localhost:8081/ 
-Dcomponents.nexus.repository=talend-custom-libs-release 
-Dcomponents.nexus.repository.snapshot=talend-custom-libs-snapshot
注: それよりもバージョンが古いjavajetベースのコンポーネントについては、このガイドを参照してください。
アーティファクトリポジトリーパラメーター -DaltDeploymentRepository アーティファクトリポジトリー(Nexus、Artifactory)にデプロイする時に、プロジェクトアーティファクトをデプロイすべき別のリポジトリーを指定します。

形式: id::layout::url

例:
-DaltDeploymentRepository=snapshots::default::http://localhost:8081/repository/snapshots/
Dockerパラメーター -Djkube.docker.push.registry イメージを共有するDockerレジストリーを指定します。
-Djkube.docker.username Dockerレジストリーにログインするアカウントに対応するDockerユーザーを指定します。

Talendから提供されたデフォルトスクリプト内で、${env.Dusername}変数に対応する値、すなわち、Jenkinsに保存されている認証情報で定義されたDockerユーザーです。

-Djkube.docker.password Dockerレジストリーにログインするアカウントに対応するDockerパスワードを指定します。

Talendから提供されたデフォルトスクリプト内で、${env.Dpassword}変数に対応する値、すなわち、Jenkinsに保存されている認証情報で定義されたDockerパスワードです。

-Djkube.docker.host Dockerレジストリーにログインするアカウントに対応するホスト名を指定します。
-Dtalend.docker.name 作成されるDockerイメージの名前を指定します。
-Dstudio.prometheus.metrics Dockerへの公開中にこのコマンドをtrue値と共に追加すれば、CamelのメトリクスがPrometheusに公開され、デプロイされたルートの詳細(処理交換数、エラー数、秒あたりのリクエスト数など)が提供されます。
-Dtalend.project.branch ビルドするタグ、およびタグ付けされた関連アーティファクトを指定します。
例:
-Dtalend.project.branch=tags/mytag
-Xms -Xmx Mavenで使用できるメモリを増やすことを可能にするJVM引数です。
-Dstudio.talendDebug たとえばビルドの問題をサポートチームと一緒にデバッグしている時にこのパラメーターをtrue値と共に追加すれば、さらにログを取得できます。
例:
-Dstudio.talendDebug=true
-Dcodes.compile.failOnError ビルドしているアーティファクトで使用されない、コンパイルエラーを持ったルーチンが発生する時にCIビルドが失敗することを防止するには、このパラメーターをfalse値で追加し、それらをスキップしてコンパイルを続行します。
例:
-Dcodes.compile.failOnError=false