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