1. Managed Cloudコンテナの更新

イメージの更新パイプラインを操作する

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

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

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

Sitecoreイメージ、またはその他のサービス イメージ参照を更新するには、次の手順に従います。

  1. 更新するイメージがAzure Container Registry (ACR) に既に存在することを確認します。

  2. Azure DevOpsで、左側のナビゲーションのPipelinesセクションに移動し、Allタブをクリックして、使用可能なパイプラインの一覧からupdate imagesリンクを選択します。

  3. パイプラインを初めて実行する場合は、「 Run pipeline」をクリックします。これにより、Run pipelineダイアログが開きます。

  4. Run pipelineダイアログで、「 Branch / tag 」フィールドが「 mainに設定されていることを確認します。

  5. コンテナレジストリに移動し、EssentialsセクションのLogin serverパラメータフィールドからパスをコピーします。

  6. Sitecore アプリケーション参照については、パイプラインの実行 ダイアログで、更新する各Sitecoreアプリケーション イメージ参照の関連フィールドに新しいパスを追加します。たとえば、CMの場合は、Sitecore CM Image Pathフィールドのパスを更新します。

  7. 更新されていないSitecoreアプリケーション参照の ‘NA’ を入力します。

  8. Run」をクリックします。

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

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

パイプラインの各ステップを通過すると、出力は成功したことを確認するか、問題のトラブルシューティングに役立つエラー情報を提供します。

パイプラインを実行して検証するには:

  1. 010 入力検証ステップからの出力を使用して、新しいパスの問題を確認し、イメージ参照パスが更新されることを確認します。

    次の例では、パイプラインはACRでcortexprocessingworkerイメージが見つからなかったことを正しく認識し、エラーがスローされます。

    Pipeline code example.

    この問題を解決するには、次の手順を実行します。

    • パスを確認し、イメージが正しいタグでACRにアップロードされていることを確認します。

    • 確認したら、パイプラインを再度実行します。

  2. 010 入力検証ステップからの出力で、イメージ参照の更新に問題がないことを確認したら、020 Docker イメージの更新設定に進み、プルリクエストステップを完了できます。イメージ参照が正常に更新されると、パイプラインは変更のプル要求 (PR) を作成して完了します。

    次の手順の出力は、イメージ参照の更新が確認され、パイプラインがPRを作成して完了したことを示しています。

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

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

    The CI run.

環境間での変更の促進

Image updatesパイプラインを使用すると、環境間で変更を昇格できます。たとえば、Pre-PROD環境に変更を加え、それらをテストした場合、その変更をPRODにプッシュできます。

環境間で変更を促進するには:

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

    ACRは、同じ契約を共有するさまざまなデプロイ間で共有および使用されます。

  2. Pre-PROD環境で、前の手順で説明したようにUpdate imagesパイプラインを実行して、Docker構成を更新し、Azure Kubernetes Service (AKS) にコンテナー アプリケーション サービスをデプロイします。

  3. 変更を検証し、Pre-PROD環境ですべてが期待どおりに機能していることを確認します。

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

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

APIを使用して更新イメージ パイプラインを自動的にトリガーする

また、CI/CDワークフローを統合し、その一部としてUpdate Imagesパイプラインを自動的にトリガーすることもできます。この手順では、パイプラインをトリガーする方法を説明し、API呼び出しを介して必要なパラメーターを提供します。

前提条件として、Sitecore Managed Cloudサポート チームから次の情報を取得しておく必要があります。

  • Update Images環境のパイプラインID

  • DevOps環境とインターフェイスするためのアクセス トークン

APIを使用してイメージ更新パイプラインをトリガーするには:

  1. POSTメソッドと、yourパラメーターで構成された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パラメーターに対して更新する1つのイメージの設定を示しています。

    {
         "templateParameters": {
               "sitecoreCmImagePath" : "NA",
               "sitecoreCdImagePath" : “NA”,
               "sitecoreIdImagePath" : “NA”,
               "sitecorePrcImagePath" : “NA”,
               "otherServiceImages" :  "- Name: <image name>\n  Path: <ACR FQDN>/<image name>:<image tag>"
                }
    }    

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

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