# プロジェクトアーティファクトをデプロイ

* Mavenのフェーズについては、[Mavenのドキュメンテーション](https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)をご覧ください。
* プロジェクト項目の実行に適用できるフィルターの例は、[選択したアーティファクトでプロジェクトの実行をフィルタリング](https://help.qlik.com/talend/ja-JP/software-dev-lifecycle-best-practices-guide/8.0/filter-execution-of-your-project-on-selected-artifacts)をご覧ください。

情報メモヒント: すべてのビルドプロファイル(-Pdocker、 -Pnexusなど)がプロジェクトの親pom.xmlファイルにリスト表示されます。

## アーティファクトリポジトリーにデプロイ

Talendが提供するパイプラインスクリプトを設定し、選択したアーティファクトリポジトリーにアーティファクトをデプロイします。

1. Jenkinsのホームページから、設定を編集したいパイプラインを選択します。

2. プロジェクトアーティファクトをデプロイしたいアーティファクトリポジトリーを定義する場合は、[Talend On prem]ステージで指定されている-DaltReleaseDeploymentRepositoryパラメーターと-DaltSnapshotDeploymentRepositoryパラメーターの値を編集します。

   アーティファクトをNexus snapshotsリポジトリーにデプロイする例(開発中のプロジェクト、およびバージョンが-SNAPSHOTであるアーティファクトが対象):

   ```
   -DaltReleaseDeploymentRepository=releases::default::http://localhost:8081/repository/snapshots/
   ```

   独自のアーティファクトリポジトリーのURLを指定すること、そしてパラメーターとその値の間には改行がないことを確認します。

3. 変更を保存します。

## Talend Cloudにデプロイ

Talendが提供するパイプラインスクリプトを設定し、Talend Management Consoleにアーティファクトをデプロイします。

1. Jenkinsのホームページから、設定を編集したいパイプラインを選択します。

2. Talend Management Consoleの公開の詳細を定義する場合は、[Talend Cloud]ステージで指定されている-Dservice.url、-Dcloud.token、-Dcloud.publisher.screenshot、-Dcloud.publisher.environment、-Dcloud.publisher.workspaceという各パラメーターの値を編集します。

   prod環境のci-workspaceという名前のワークスペース内にあるTalend Cloudアカウントに、アーティファクトを(スクリーンショットと共に)デプロイする例:

   ```
   -Dservice.url=https://tmc.eu.cloud.talend.com/inventory
   -Dcloud.token=XXX1234TalendCloudToken1234XXX
   -Dcloud.publisher.screenshot=true 
   -Dcloud.publisher.environment=prod
   -Dcloud.publisher.workspace=ci-workspace
   ```

   独自のTalend Cloud環境とワークスペースを指定する必要があります。

3. 変更を保存します。

## Dockerにデプロイ

Talendが提供するパイプラインスクリプトを設定し、Dockerにアーティファクトをデプロイします。

1. Jenkinsのホームページから、設定を編集したいパイプラインを選択します。

2. プロジェクトアーティファクトをデプロイしたいDockerレジストリーを定義する場合は、[Talend with Docker]ステージで指定されている-Djkube.docker.push.registry、-Djkube.docker.username、-Djkube.docker.passwordという各パラメーターの値を編集します。

   任意のDockerで前に定義したDockerイメージとしてアーティファクトをデプロイする例:

   ```
   -Djkube.docker.push.registry=talenddockerregistry 
   -Djkube.docker.username=talenduser 
   -Djkube.docker.password=Talenddock3rpassw0rd
   ```

3. 変更を保存します。

## 一度に複数のデプロイメント

Talendが提供するパイプラインスクリプトを設定し、複数の場所(アーティファクトリポジトリー、Talend Cloud、Docker)にアーティファクトをデプロイします。

1. Jenkinsのホームページから、設定を編集したいパイプラインを選択します。

2. 編集するステージで、実現したいMavenフェーズを定義し、開始されるプロファイルが目的のデプロイメント先に対応していることを確認します。プロファイルのリストはコンマで区切られている必要があります。

   例:

   ```
   mvn deploy -Pdocker,cloud-publisher 
   ```

3. プロジェクトアーティファクトをデプロイするリポジトリーと環境を定義するためには、mavenOptsパラメーターに示されているパラメーター値を編集します。

   NexusのsnapshotsリポジトリーとTalend Cloudアカウントの両方にアーティファクトをデプロイする例:

   ```
   -DaltDeploymentRepository=maven-snapshots::default::http://localhost:8081/repository/maven-snapshots/
   -Dservice.url=https://tmc.eu.cloud.talend.com/inventory
   -Dcloud.token=XXX1234TalendCloudToken1234XXX
   -Dcloud.publisher.screenshot=true 
   -Dcloud.publisher.environment=prod
   -Dcloud.publisher.workspace=ci-workspace 
   ```

4. 変更を保存します。

### このセクション内

* [Java 17へのTalend Cloudのデプロイ時にビルドが失敗する - 対策法](https://help.qlik.com/talend/ja-JP/software-dev-lifecycle-best-practices-guide/8.0/build-failed-when-deploying-to-cloud-on-java17-workaround?id=41)