選択したアーティファクトでのプロジェクトの実行をフィルタリングする - Cloud

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

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend Artifact Repository
Talend Management Console
Talend Studio
task
ジョブデザインと開発
デプロイメント
管理と監視
プロジェクトアイテムの実行をフィルタリングして目的のアーティファクトのみをビルドするには、プロジェクトソースを継続的インテグレーションサーバー上に生成するビルドプロジェクトを設定する時に、入力したMavenパラメーター内にフィルターを宣言する必要があります。

始める前に

  • 継続的インテグレーションサーバー(この例ではJenkins)上にビルドパイプラインが作成済みであること。『Jenkinsパイプラインの作成』を参照してください。
  • 実行するアーティファクトのPOMファイルへのパスを知っていること(標準ジョブ、ビッグデータジョブ、ルートなど)。これらのファイルは、Studioワークスペースのworkspace/<my_project>/pomsディレクトリーにあります。
    ヒント:
    • 標準ジョブにフィルターを適用する場合、使用するパスはjobs/process/jobName_versionとなります
    • ビッグデータジョブにフィルターを適用する場合、使用するパスはjobs/process_mr/jobName_versionとなります
    • ルートにフィルターを適用する場合、使用するパスはjobs/routes/routeName_versionとなります
    • データサービスにフィルターを適用する場合、使用するパスはjobs/services/serviceName_versionとなります

手順

  1. パイプラインの設定ページを開きます。
  2. [Script] (スクリプト)エリアで、必要に合わせてジョブをフィルタリングすることを可能にするMavenコマンドとパラメーターを編集します。
    • プロジェクト内にあるすべてのアーティファクトではなく、特定のアーティファクト(ジョブとテスト、ルートなど)を生成するには、-pl
      例:
      -pl jobs/process/job_feature956_0.1
      0.1バージョンのjob_feature956標準ジョブのみをデプロイする。
      ヒント: 複数のアーティファクトをビルドする場合は、名前をコンマで区切ります。
    • プロジェクト内にある特定アーティファクトの子依存項目を同時にビルドするには、-am (アーティファクトが-plで指定されている場合)。
      例:
      -pl jobs/process/jobparent_feature950_0.1 -am

      jobparent_feature950という名前の0.1バージョンの親ジョブ、およびその子ジョブ(jobchild_feature950_0.1)とサブ子ジョブ(jobsubchild_feature950_0.1)をデプロイする。

    • プロジェクト内にある特定プロジェクトの親依存項目を同時にビルドするには、-amd (プロジェクトが-plで指定されている場合)。

      例:

      -pl jobs/process/jobsubchild_feature950_0.1 -amd
      jobsubchild_feature950という名前の0.1バージョンのサブ子ジョブ、およびこれに依存するジョブ(jobchild_feature950_0.1およびjobparent_feature950)を生成する。
      注: -amdコマンドによって、指定されたジョブに依存するすべてのモジュールがビルドされるため、ルーチンなど、このジョブの生成に必要なすべての依存項目を事前に生成しておく必要があります。

    例え

    プロジェクトのビルドディレクトリー(古いファイルの削除)をクリーンアップし、route_feature950ルートとその依存項目の生成を開始し、定義したNexusアーティファクトリポジトリーにパッケージをデプロイするために使用されるMavenコマンドの例:

    -fae -e -pl jobs/routes/route_feature950_0.1 -amd

    -amdパラメーターは、ルートを公開する時に必須です。ルートを公開するにはルートの依存項目を生成する必要があるためです。

    プロジェクトビルドディレクトリーのクリーニングに使用するMavenコマンドの例(古いファイルの削除)では、parentという名前の親ジョブと、その依存項目(子ジョブ)の生成が開始し、それらのパッケージ化されたアーティファクトがTalend Cloud Management Consoleにデプロイされます。

    -Pcloud-publisher -pl jobs/process/parent_0.1 -am

    生成されたプロジェクトを取り込み、すべてのアーティファクトのJavaコードをこのプロジェクト内にDockerイメージとしてパッケージするために使用されるMavenコマンドの例。

    -Pdocker package -fae -e
  3. 変更を保存し、設定ページを閉じます。

タスクの結果

継続的インテグレーションサーバー上でプロジェクトを実行すると、フィルターが適用され、フィルターをかけたアーティファクトのみが生成され、実行されます。