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

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

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend Artifact Repository
Talend Management Console
Talend Studio
task
ジョブデザインと開発
デプロイメント
管理と監視
継続的インテグレーションサーバーでアーティファクトをビルド、実行、公開する時にパスできるオプションです。
Talendは、標準のMavenベースの継続的インテグレーション(CI)実装を利用します。CI Mavenコマンドは通常、次のようになります:
mvn \
        -f <project name>/poms/pom.xml \
        -am -pl <comma separated list of jobs modules> \
        -Dgeneration.type=local
        -Dlicense.path=<local path or url> \
        -Dupdatesite.path=<local path> \
        -Dpatch.path=<local 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 -Dlicense.path=C:/CI_CD/license -Dupdatesite.path=http://localhost:8080/P2/ -Dpatch.path=D:/patches/Patch_TPS-2222.zip -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パラメーター -Dupdatesite.path ビルド時にTalend CommandLineのP2リポジトリーをダウンロードしてインストールできるサーバーのURLアドレスです。このサイトには、Mavenプラグイン、およびパイプラインのビルドに必要となる外部ライブラリーがすべて含まれています。TomcatアプリケーションにP2リポジトリーを組み込む方法の例については、アーティファクトの実行をスケジューリングする前にを参照してください。
例:
-Dupdatesite.path=http://localhost:8080/P2/
警告: このパラメーターは、P2更新サイトアーカイブ(Talendから提供)を有するユーザーのみが対象です。

-DforceUpdate

-Dinstaller.clean

-U

更新サイトからの更新をインストールする時に必要なパラメーター:
  • -DforceUpdateは、ローカルインストールが存在する場合も、この更新サイトからのTalend CommandLineのインストールを強制します。
    例:
    -DforceUpdate=true
  • -Dinstaller.cleanは、ビルドの正しい実行に必要なプラグインをすべて再ダウンロードします。
    例:
    -Dinstaller.clean=true
  • -U (値なし)は、ビルドの正しい実行に必要なJARファイルをすべて再ダウンロードします。
-Dpatch.path インストールしたパッチ、またはインストールしたいパッチ(Talend Studio p2パッチ、手動パッチ、コンポーネントパッチなど)へのパスです。
パッチをローカルにインストールした場合の例:
-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で暗号化されるパスワードを設定できます。

-Dgeneration.type アーティファクトのソースを生成する値としてlocalと入力すると、ビルドの実行中にTalend CommandLineを実行していなくてもテストをローカルに行うことができます。
例:
-Dgeneration.type=local

server生成タイプは非推奨となっています。

-Dlicense.path Talend製品のライセンスへのパスです。

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

-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 

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

カスタムコンポーネントのパラメーター -Dcomponents.* カスタムコンポーネントを使用するジョブをアーティファクトリポジトリーにデプロイする時は、コンポーネントライブラリーが保存されているリポジトリーを指定します。
例:
-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
アーティファクトリポジトリーパラメーター -DaltDeploymentRepository アーティファクトリポジトリー(Nexus、Artifactory)にデプロイする時に、プロジェクトアーティファクトをデプロイする別のリポジトリーを指定します。

形式: id::layout::url

例:
-DaltDeploymentRepository=snapshots::default::http://localhost:8081/repository/snapshots/
Talend Cloudパラメーター -Dservice.url プロジェクトアーティファクトをデプロイするTalend Cloudアカウントを指定します。

Talendから提供されているデフォルトスクリプトで、値はスクリプトの先頭で定義されている${CLOUD_URL}変数に対応します。

-Dcloud.publisher.environment プロジェクトアーティファクトをデプロイするTalend Cloudアカウントで作成された環境を指定します。
例:
-Dcloud.publisher.environment=PROD
-Dcloud.publisher.workspace プロジェクトアーティファクトをデプロイするTalend Cloudアカウントで作成されたワークスペースを指定します。
例:
-Dcloud.publisher.workspace=CI_WORKSPACE
-Dcloud.publisher.screenshot Talend Cloudアカウントにデプロイするアーティファクトのキャプチャーを公開するには、このパラメーターにtrueの値を追加します。
例:
-Dcloud.publisher.screenshot=true
Dockerパラメーター -Ddocker.push.registry イメージを共有するDockerレジストリーを指定します。
-Ddocker.push.username Dockerレジストリーにログインするアカウントに対応するDockerユーザーを指定します。

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

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

Talendから提供されたデフォルトスクリプト内で、${env.Dpassword}変数に対応する値、すなわち、Jenkinsに保存されている認証情報で定義された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