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

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

Version
8.0
Language
日本語 (日本)
Product
Talend Big Data
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Module
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Talend Studio
Content
ジョブデザインと開発
デプロイメント
管理と監視

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

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

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

手順

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

    例え

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

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

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

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

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