目標とするMavenフェーズと、アーティファクトのデプロイ先とするリポジトリーに従って、Talendが提供するパイプラインスクリプトを設定してプロジェクトアイテムを生成します。
パラメーターや認証情報によっては、Azure DevOpsに保存したセキュアファイルや変数に派生するものもあります。パイプラインの設定で使用できるTalendMavenのパラメーターに関するその他の情報は、TalendのカスタムMavenビルドのオプションを参照してください。
手順
-
スクリプトの先頭で定義した環境変数(プロジェクト名、ジョブ名/バージョン/タイプ、リポジトリーURLなど)に独自の値を設定します。
例え
CICDという名前のプロジェクト、job_feature956という名前でバージョンが0.1のジョブ、およびcicd4talendという名前のDockerイメージのサンプル:variables: - group: Talend Variables - name: project_name value: 'CICD' - name: artifact_name value: 'job_feature956' - name: artifact_version value: '0.1' - name: docker_image_name value: 'cicd4talend'
警告: 構文の要件:- パラメーター /JobName変数は大文字にする必要があり、大文字にしないとビルドエラーが発生することがあります。プロジェクト名に特殊文字を必要とするか、または最終構文に疑問がある場合は、プロジェクトの親pom.xmlファイルで確認できます(<project>/poms/pom.xml内のtalend.project.name変数)。
- パラメーター artifact_name変数の値は、ジョブ/ルート/サービスの元の名前に大文字が含まれていた場合でも、小文字でなければなりません。ビルドの起動に必要な.pomファイル内ではすべてのアーティファクトが小文字だからです。
- -SNAPSHOTサフィックスはバージョン値に手動で追加しないでください。スナップショットとリリースはバージョン自体から切り離されており、Studioの環境設定からのみ操作する必要があります。各アーティファクトのデプロイバージョンを一度に変更を参照してください。
-
mavenOptionse行に示されているアーティファクトレジストリURLを編集します。Talendが提供するデフォルトスクリプトに定義されているリポジトリーは、Nexus snapshotsリポジトリーです。
例え
-DaltDeploymentRepository=releases::default::http://nexus:8081/repository/releases/
アーティファクトをNexus [releases] (リリース)リポジトリーにデプロイできます(安定したリリースのためには本番環境のアーティファクト)。
-
mavenOptions行に示されているTalend Cloudワークスペースおよび環境を編集します。Talendで提供されているデフォルトスクリプトで定義されているデフォルトのワークスペースと環境は、ワークスペースがdefault、環境がPersonalです。
例え
-Dservice.url=$(talend_cloud_url) -Dcloud.publisher.environment=PROD -context=Prod -Dcloud.publisher.workspace=CI_WORKSPACE -Dcloud.publisher.screenshot=true
コンテキスト変数を(--contextを使用して)Prodに変更している間、PROD環境上のCI_WORKSPACEという名前のワークスペース内にあるTalend Cloudアカウントにアーティファクトをデプロイできます(スクリーンショットあり)。この環境はTalend Studioで前もって定義しておく必要があります。ただし、コンテキストパラメーターが未定義の場合は、--context_paramを使用してビルド時に定義できます。
注: Talend Cloudに接続するシングルサインオン(SSO)を有効にしている場合、-Dcloud.token=<MyAccessToken>パラメーターをこれらのコマンドに追加する必要があります。 -
到達するMavenフェーズを定義するには:[options] (オプション)行と[goals] (目標)行に示されているフェーズとビルドプロファイルが自分が実行したいものであることを確認します。Talendで提供されているデフォルトスクリプトで定義されているデフォルト目標は、deployです。
Mavenのフェーズは、Mavenのドキュメンテーションを参照してください。ヒント: すべてのビルドプロファイル(-Pdocker、 -Pnexusなど)がプロジェクトの親pom.xmlファイルにリスト表示されます。Dockerイメージ名や、Open JDK名など、一部のデフォルトパラメーターはこのファイルで上書きすることもできます。
例え
options: '--settings $(settings_xml.secureFilePath) -Pnexus -pl jobs/routes/$(artifact_name)_$(artifact_version) -am' goals: 'clean deploy'
パッケージされたルートをjarまたは.zipファイルとして取り込み、任意のNexusリポジトリーにデプロイできます。
例え
options: '--settings $(settings_xml.secureFilePath) -X -Pdocker -pl jobs/process/$(artifact_name)_$(artifact_version) -am -Dtalend.docker.name=$(docker_image_name)' goals: 'deploy'
コンパイルされたコードを取り込み、Dockerイメージとしてパッケージし、任意のレジストリにデプロイできます。
- 変更を保存します。ビルドパイプラインの実行を自動的に起動します。