CIビルダー関連のMavenパラメーター - Cloud

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

Version
Cloud
Language
日本語 (日本)
Product
Talend Cloud
Module
Talend Artifact Repository
Talend Management Console
Talend Studio
Content
ジョブデザインと開発
デプロイメント
管理と監視
以下のパラメーターはプラグインに組み込まれているヘルプで説明されており(generate-mojo.htmlファイルを参照)、お使いのCIビルド定義のmavenOpts (Jenkins)/mavenOptions(Azure DevOps)コマンドとmvn(Jenkins)/options(Azure DevOps)コマンドのいずれかで使用できます。
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を使います。

ビルド時にこのパラメーターを使えば、期限切れのライセンスをアップデートできます。ライセンスを変更する際、mvn org.talend.ci:builder-maven-plugin:8.0.4:installコマンドを使用していない場合はこのパラメーターを使って-Dinstaller.clean=trueパラメーターを追加します。

-Dtalend.studio.p2.base

Talend Studio機能パッケージ用リポジトリーの URL、またはTalend Studio機能パッケージ用のTalend_Full_Studio_p2_repository-YYYYMMDD_HHmm-VA.B.C.zipアーカイブの解凍済みフォルダーです。

Talend Studio機能パッケージ用公式TalendリポジトリーのURLの例:

-Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base

Talend Studio機能パッケージ用アーカイブの解凍済みフォルダーの例:

-Dtalend.studio.p2.base=D:\Talend\v80\StudioP2Base

詳細は、Talend Studioと継続的インテグレーションのアップデートリポジトリーを設定をご覧ください。

-Dtalend.studio.p2.update

Talend Studioアップデート用リポジトリーのURL(つまりお客様に割り当てられたパッチZIP)、Talend Studioアップデート用アーカイブ、Talend Studioアップデート用アーカイブの解凍済みフォルダーのいずれかです。

最新のTalend Studio月次アップデート用公式TalendリポジトリーのURLの例

-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/latest

Talend Studio月次アップデート用アーカイブの例:

-Dtalend.studio.p2.update=D:\Talend\v80\Patch_20220129_R2022-01_v2-8.0.1.zip

Talend Studio月次アップデート用アーカイブの解凍済みフォルダーの例:

-Dtalend.studio.p2.update=D:\Talend\v80\StudioR202201

詳細は、Talend Studioと継続的インテグレーションのアップデートリポジトリーを設定をご覧ください。

-Dpatch.path インストールしたパッチ、またはインストールしたいパッチ(手動パッチ、カスタムコンポーネントパッチ、ホットフィックスなど)へのパス。

なお、このパラメーターは8.0 R2022-04以降に非推奨となっています。また、-Dinstaller.studio.p2.updateパラメーターを使うこともできます。

パッチをローカルにインストールした場合の例:
-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で暗号化されるパスワードを設定できます。

-Dinstaller.clean クリーンインストールを行い、CIワークスペースディレクトリーの下にある.metadataフォルダーを削除してからTalend CommandLineを再インストールします。

例: -Dinstaller.clean=true

-DforceUpdate ローカルインストールが存在する場合も、このアップデートサイトからのTalend CommandLineのインストールを強制します。

なお、このパラメーターは8.0 R2022-04以降に非推奨となっています。また、-Dinstaller.cleanパラメーターを使うこともできます。

例: -DforceUpdate=true

-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.connectTimeout

-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.readTimeout

-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.browse.connectTimeout

エラーが返されるまで接続が開くのを待つタイムアウト時間(ミリ秒)。これらのパラメーターは、CIサーバーがすぐに応答を受け取れない場合にブロックされるのを防ぐのに役立ちます。デフォルト値はすべて12000ミリ秒です。

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

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

-DcveReportFilePath 修正済み脆弱性のリストが含まれているレポートをアーティファクトに保存するパスを定義できます。

このパラメーターは、org.talend.ci:builder-maven-plugin:8.0.X:detectCVEというMaven コマンドでのみ使用できます。

詳細は、ビルド中にアーティファクトの修正済み脆弱性 (CVE)を検出をご覧ください。

-DcveReportFilePath=/home/talend/cvereport.csv
-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*)

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

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

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

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

-Dworkspace アーティファクトをビルドする現在のワークスペースプロジェクトを定義できます。

さまざまなMavenビルダーコマンド(org.talend.ci:builder-maven-plugin:8.0.X:detectCVEorg.talend.ci:builder-maven-plugin:8.0.X:generateAllPomsなど)で使用可能です。

-Dworkspace=/home/talend/talend_studio/CI/workspace
カスタムコンポーネントのパラメーター -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/
Talend Cloudパラメーター -Pcloud-publisher Talend Cloudに公開できるTalend Cloudパブリッシャーブラグインを有効化します。
-Dservice.url プロジェクトアーティファクトをデプロイするTalend Cloudアカウントを指定します。

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

-Dcloud.token Talend Cloudアカウント用に生成されるアクセストークンを指定します。

パーソナルアクセストークンはTalend Cloud Management Consoleから生成されます。

-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パラメーター -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.project.branch ビルドするタグ、およびタグ付けされた関連アーティファクトを指定します。
-Dtalend.project.branch=tags/mytag
-Djvm.arguments Mavenで使用できるメモリを増やすことを可能にするJVM引数です。
-Djvm.arguments=-Xms512m -Xmx4000m
-Dcodes.compile.failOnError ビルドしているアーティファクトで使用されない、コンパイルエラーを持ったルーチンが発生する時にCIビルドが失敗することを防止するには、このパラメーターをfalse値で追加し、それらをスキップしてコンパイルを続行します。
-Dcodes.compile.failOnError=false