1. Managed Cloudコンテナの更新

Update imagesパイプラインの作業

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Update imagesパイプラインでは、CM、CD、ID、PRCなどの既存アプリケーションサービスの画像Sitecore参照を更新でき、ソリューションプロビジョニング時の選択したトポロジーに応じて追加のアプリケーションサービスも更新できます。

Sitecore画像やその他のサービス画像を参照する情報を更新するには:

  1. 更新しているイメージがすでにAzureコンテナレジストリ(ACR)にあるか確認してください。
  2. Azure DevOpsでは、左側のナビゲーションにある パイプライン セクションに行き、「 すべて 」タブをクリックし、利用可能なパイプラインのリストから 「画像更新 」リンクを選択します。
  3. もしパイプラインを初めて実行する場合は、「パイプラインを実行してください」をクリックしてください。これにより パイプライン実行 ダイアログが表示されます。
  4. RunパイプラインダイアログでBranch/tagフィールドがmainに設定されているか確認してください。
  5. コンテナレジストリにアクセスし、Essentialsセクションのログインサーバーパラメータフィールドからパスをコピーしてください。
  6. Sitecoreアプリケーション参照については、「パイプライン実行」ダイアログで、更新する各アプリケーション画像参照の関連フィールドに新しいパスSitecore追加してください。例えばCMの場合は、Sitecore CM Image Pathフィールドのパスを更新します。
  7. 更新されていないSitecoreアプリケーション参照については ‘NA’ を入力してください。
  8. 「走る」をクリックしてください。

パイプラインの実行と検証

Update imagesパイプラインを実行すると一連のステップが実行されます。

パイプラインの各ステップを経るたびに、出力は成功を検証したり、問題のトラブルシューティングに役立つエラー情報を提供します。

パイプラインの実行と検証:

  1. 010入力検証ステップの出力を使って、新しいパスに問題がないか確認し、画像参照パスが更新されるかどうかを確認しましょう。

    以下の例では、パイプラインがcortexprocessingworker画像がACRに見つからなかったことを正しく認識し、エラーを投げます。

    Pipeline code example.

    問題を解決するために:

    • パスを確認し、画像が正しいタグでACRにアップロードされているか確認してください。
    • 検証が完了したら、パイプラインを再度実行してください。
  2. 010 Input Validationステップの出力で画像参照の更新に問題がないことが確認されたら、020 Update docker画像の設定に進み、プルリクエストのステップを完了できます。画像参照が正常に更新されると、パイプラインは変更のためのプルリクエスト(PR)を作成・完了します。

    以下のステップ出力は、画像参照の更新が確認され、パイプラインがPRを作成・完了したことを示しています。

    Pipeline code example.
  3. update imagesパイプラインが実行とPRを完了すると、継続的統合(CI)実行が自動的にトリガーされ、アプリケーションパイプラインがKubernetesにイメージを実行・デプロイします。

    以下の画像は、PR完了後にアプリケーションパイプラインのCI実行がupdate imagesパイプライン実行の一部としてトリガーされていることを示しています。

    The CI run.

環境間の変化を促進する

Image updatesパイプラインは環境間で変更をプロモートすることを可能にします。例えば、Pre-PROD環境に変更を加えてテストした後、その変更をPRODにプッシュできます。

環境間での変化を促進するために:

  1. 映像をACRにプッシュします。

    ACRは同じ契約を共有する複数の展開間で共有・使用されます。

  2. Pre-PROD環境では、前述の手順に従ってUpdate imagesパイプラインを実行し、Docker構成を更新し、Azure Kubernetesサービス(AKS)でコンテナアプリケーションサービスを展開します。

  3. 変更点を検証し、Pre-PROD環境で期待通りに動作しているか確認してください。

  4. Update imagesパイプラインをPROD環境で実行します。

    ACRは共有されているため、同じ変更を適用するためにイメージを再度プッシュする必要はありません。コンテナアプリケーションサービスはAKSにデプロイされます。

APIを使って画像更新パイプラインを自動的にトリガーします

また、CI/CDワークフローを統合し、Update Imagesパイプラインを自動的にトリガーすることも可能です。この手順はパイプラインのトリガー方法を説明し、APIコールを通じて必要なパラメータを提供します。

前提条件として、Sitecore Managed Cloudサポートチームから以下の情報を入手している必要があります:

  • Update Images 環境用のパイプラインID
  • DevOps環境とインターフェースするためのアクセストークン

APIを使って画像更新パイプラインを起動するには:

  1. POSTメソッドと、あなたのパラメータで設定されたURLを使いましょう。これには組織名、プロジェクト名、そしてUpdate imagesパイプラインのパイプラインIDが含まれます。

    https://dev.azure.com/{customer organization}/{customer project}/_apis/pipelines/{pipeline ID}/runs?api-version=6.0-preview.1

  2. 認証はManaged Cloudサポートチームが提供するアクセストークンを使って設定する必要があります。

  3. API呼び出しの本文には画像が更新されるパスのパラメータが含まれなければなりません。以下のテンプレート( Example 1名)を使ってAPI呼び出し本体をJSON形式で作成してください。

    更新不要な画像はNAとして設定できます。

    以下の例は、単一画像をotherServiceImagesパラメータに更新する設定を示しています。

    { "templateParameters": { "sitecoreCmImagePath" : "NA", "sitecoreCdImagePath" : “NA”, "sitecoreIdImagePath" : “NA”, "sitecorePrcImagePath" : “NA”, "otherServiceImages" : "- Name: \n Path: /:" } }

API呼び出しが行われた後、完了が成功した場合はStatus: 200 OKメッセージが届き、前回の手順と同様にトリガーと実行のパイプラインが表示されます。

この記事を改善するための提案がある場合は、 お知らせください!