YAMLパラメーターを環境に適合化 - Cloud - 8.0

TalendSoftware Development Life Cycleベストプラクティスガイド

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Talend Management Console
Talend Remote Engine
Talend Studio
Content
ジョブデザインと開発
デプロイメント
管理と監視
Last publication date
2024-02-29

目標とするMavenフェーズと、アーティファクトのデプロイメント先とするリポジトリーに従って、Talendが提供するパイプラインスクリプトを設定してプロジェクト項目を生成します。

注: 例として提供されているazure-pipeline.ymlスクリプトファイルでは、Talend Management Consoleにアーティファクトをビルドして公開できます。アーティファクトをアーティファクトリポジトリーやDockerに公開したい場合は、スクリプト内の対応するパラメーターをコメント解除します。

パラメーターや認証情報によっては、Azure DevOpsに保存したセキュアファイルや変数に派生するものもあります。パイプラインの設定で使用できるTalendMavenのパラメーターに関するその他の情報は、TalendのカスタムMavenビルドのオプションをご覧ください。

手順

  1. azure-pipeline.zipファイルをダウンロードして抽出します。
  2. スクリプトの先頭で定義した環境変数(プロジェクト名、ジョブ名/バージョン/タイプ、リポジトリーURLなど)に独自の値を設定します。
    ヒント: Talendが例として提供しているXXX参照をazure-pipeline.ymlスクリプト内で探し、お使いの環境に対応する値に置換します。

    プロジェクト名が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サフィックスはバージョン値に手動で追加しないでください。スナップショットとリリースはバージョン自体から切り離されており、Talend Studioの環境設定からのみ操作する必要があります。各アーティファクトのデプロイメントバージョンを一括変更をご覧ください。
  3. 前に作成したartifact_urlというAzure変数に記述されているアーティファクトリポジトリーのURLを編集します。

    -DaltDeploymentRepository=releases::default::http://nexus:8081/repository/maven-releases/

    アーティファクトをNexus maven-releasesリポジトリーにデプロイメントできます(本番環境における安定リリース版のアーティファクト用)。

    注: カスタムコンポーネントを使うジョブをデプロイメントする場合は、TalendのカスタムMavenビルドのオプション-Dcomponents.*オプションを使う必要があります。
  4. 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を使用してビルド時に定義できます。

  5. 到達する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イメージとしてパッケージし、任意のレジストリにデプロイメントできます。

  6. 変更を保存します。ビルドパイプラインの実行を自動的に起動します。