CIビルダー関連の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
ジョブデザインと開発
デプロイメント
管理と監視
以下のパラメーターはプラグインに組み込まれているヘルプで説明されており(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のP2リポジトリーをダウンロードできるサーバーのURLアドレス。

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

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

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

このパラメーターは、P2アップデートサイトアーカイブ(Talendから提供)を有するユーザーのみが対象です。

ベースURLの詳細は、アップデートリポジトリーを設定をご覧ください。

-Dtalend.studio.p2.update 累積パッチをダウンロードできるフォルダーのURLアドレスまたはパス。
例:
-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2022-01

このパラメーターは、P2アップデートサイトアーカイブ(Talendから提供)を有するユーザーのみが対象です。

アップデートURLの詳細は、アップデートリポジトリーを設定をご覧ください。

-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/
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