YAMLパラメーターの環境への適合 - Cloud

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

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend Artifact Repository
Talend Management Console
Talend Studio
task
ジョブデザインと開発
デプロイメント
管理と監視

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

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

手順

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

    例え

    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'
    警告: 構文の要件:
    • job_name変数の値は大文字でなければならず、それ以外の場合はビルドエラーが発生する可能性があります。プロジェクト名に特殊文字を必要とするか、または最終構文に疑問がある場合は、プロジェクトの親pom.xmlファイルで確認できます(<project>/poms/pom.xml内のtalend.project.name変数)。
    • ジョブ/ルート/サービスの元の名前に大文字が含まれていた場合でも、env.ARTIFACT変数の値は小文字でなければなりません。ビルドの起動に必要な.pomファイル内ではすべてのアーティファクトが小文字だからです。
    • -SNAPSHOTサフィックスはバージョン値に手動で追加しないでください。スナップショットとリリースはバージョン自体から切り離されており、Studioの環境設定からのみ操作する必要があります。各アーティファクトのデプロイバージョンを一度に変更を参照してください。
  2. mavenOptionse行に示されているアーティファクトレジストリURLを編集します。Talendが提供するデフォルトスクリプトに定義されているリポジトリーは、Nexus snapshotsリポジトリーです。

    例え

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

    アーティファクトをNexus [releases] (リリース)リポジトリーにデプロイできます(安定したリリースのためには本番環境のアーティファクト)。

    注: カスタムコンポーネントを使うジョブをデプロイする場合は、TalendのカスタムMavenビルドのオプション-Dcomponents.*オプションを使う必要があります。
  3. 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>パラメーターをこれらのコマンドに追加する必要があります。
  4. 到達する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イメージとしてパッケージし、任意のレジストリにデプロイできます。

    例え

    options: '--settings $(settings_xml.secureFilePath) -Pcloud-publisher -pl jobs/process/$(artifact_name)_$(artifact_version) -am'
    goals: 'deploy'

    最終のパッケージ化されたアーティファクトを指定のTalend Cloudアカウントにコピーできます。

    注: Talend Cloudに公開するアーティファクトは400MBを超えないようにしてください。
  5. 変更を保存します。ビルドパイプラインの実行を自動的に起動します。