1. その他の開発課題

パッケージ管理サービス

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

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

パッケージ管理サービスを使って、ユーザーがSitecoreパッケージに関する情報を取得し、Update Centerを使ってこれらのパッケージをダウンロード・インストールできるWeb APIを提供します。これらのパッケージはローカルでホストされます。

パッケージ管理サービスは2つの構成グループをサポートしています:

  • 管理 - このプラットフォームグループにはWCMSの設定、ファイル、DLLのみが含まれます。Sitecore Analyticsに必要な部品を含まないXMです。
  • プラットフォーム - このプラットフォームグループにはXPに必要なファイルが含まれており、完全なSitecore構成です。

パッケージ管理サービスを使って組織内でSitecoreパッケージをホスト・配布する理由には以下があります:

  • 開発者が開発環境やテスト環境にインストールするパッケージをコントロールできます。
  • パッケージはSitecoreのインフラ全体で一貫して配布できます。

パッケージ管理サービスは単一の.zipアーカイブとして配布されています。アーカイブにはインストール手順を含むSitecore.PackageManagementService.Web.deploy-readme.txtファイルがあります。

インストール後、web.configファイルのappSettingsectionに以下のパラメータの値を指定してサービスを設定します。

  • HotfixesRootとUpdatesRootを指定します。それぞれホットフィックスやアップデートを保存するファイルシステムフォルダです。
  • 以下の2つの認証モードのいずれかを選択してください:
    • 認証を完全に無効にするには、RequiredAuthorizationをfalseに設定してください。
    • カスタムトークンベースの認証プロバイダーを登録するには、OAuthAuthorizationServerProviderを指定します。カスタムプロバイダーはMicrosoft.Owin.Security.OAuth.OAuthAuthorizationServerProviderから継承しなければなりません。

パッケージのメタデータと構造

パッケージとは、2つのファイルからなる.zipアーカイブのことです。

  • Package.update – 標準的なSitecoreの更新ファイルです。
  • Package.json – パッケージを記述する情報。

情報(JSON形式)にはプロパティの説明、インストール前ステップ、インストール後のステップが含まれます。アップデートセンターはこの情報を読み取り表示します。以下はJSON形式のパッケージ情報の例です:

{ "Properties": { "Description": "This update package will upgrade your current Sitecore Platform version to 9.0.2", "Installation instruction": "https:/dev.sitecore.net/", "Release notes": "https:/dev.sitecore.net/", "Some Property": "something", "Another Property": "something" }, "PostSteps": { "Name": "Name of poststep here", "Description": "Description of poststep here" }, { "Name": "Name of the next poststep here", "Description": "Description of poststep here" }, "PreSteps": { "Name": "Name of prestep here", "Description": "Description of prestep here" }, { "Name": "Name of the next prestep here", "Description": "Description of prestep here" } }

バージョン管理ルール

Sitecoreプラットフォームおよびモジュールは、意味的なバージョン設定に基づくバージョン名を使用しています。

  • 定期的な更新は以下の通りです:..、例えば9.2.2。
  • ホットフィックスは以下の通りです:.、例えば9.2.0.3。

ファイル保存

パッケージ管理サービス用のパッケージは、ファイルシステムの特定のフォルダ構造に保存しなければなりません。この構造は、プラットフォームやモジュールの特定のバージョンに対するパッケージの可用性を定義します。

フォルダー構造は以下の要素を定義しています:

  • パッケージがアップデートかホットフィックスか。
  • プラットフォームまたはモジュールのソースバージョン。
  • プラットフォームまたはモジュールのターゲットバージョン。

更新情報は以下の方法でフォルダ構造に格納されます:

  • プラットフォームの最新情報:

    \\<platform group name (Platform or Management)>\

  • モジュールの最新情報:

    \\Modules\\\

前述の通り、web.configファイル内で更新ルートフォルダを指定します。

以下はフォルダ構造の例です:

Folder structurer

フォルダーの場所:

フォルダパス

概要

\updates

アップデートパッケージのルートフォルダです。

\updates\9.1.0

インストールされたプラットフォームのソース(現在の)バージョンです。この例では9.1.0です。

\updates\9.1.0\platform\9.1.1 および \updates\9.1.0\platform\9.1.2

現在のバージョンからアップグレードできるプラットフォームのターゲットバージョンです。この例では、9.1.0から9.1.1または9.1.2へアップグレードできます

\updates\9.1.0\management\9.1.1 および \updates\9.1.0\management\9.1.2

現在のバージョンからアップグレードできるプラットフォーム構成「Management」のターゲットバージョンです。この例では、9.1.0 Managementから9.1.1または9.1.2 Managementへアップグレードできます。

\updates\9.0.0\modules

現在インストールされているプラットフォームのバージョンと互換性のあるモジュール。

\updates\9.0.0\modules\sxa\1.5.0

現在のSXAモジュールのバージョンです。この例では1.5.0です。

\updates\9.0.0\modules\sxa\1.5.0\1.6.0

プラットフォーム9.0.0にSXA 1.5.0をインストールした場合、SXA 1.6.0へアップグレードできます。

ホットフィックスは以下の方法でフォルダ構造に格納されます:

\<package name (Platform, Management or module name like EXM)>\\

以下はフォルダ構造の例です:

Folder structure

フォルダーの場所:

フォルダパス

概要

\management\9.1.0\9.1.0.1

ターゲットプラットフォームManagement Groupバージョン9.0.1の最初のホットフィックスです。

\platform\9.1.0\9.1.0.1

ターゲットプラットフォームバージョン9.0.1の最初のホットフィックスです。

\sxa\1.5.0\1.5.0.1

SXAモジュールバージョン1.5.0の最初のホットフィックス(1.5.0.1)。

Azure Blob storageを使おう

パッケージの保存にはファイルシステムの代わりにAzure Blobストレージを使うことができます。

パッケージ管理サービスでブログストレージAzure使用するには、web.configファイルに以下の変更を加えてください:

  1. HotfixesRootおよびUpdatesRoot設定の値を指定してください。値にはAzure Blobストレージコンテナ名と仮想ディレクトリのルートが含まれ、/で区切られます。小文字の名前のみを使用してください。

  2. PackageRepositoryProvider設定の値をSitecore.PackageManagementService.AzureStorageProvider.Repositories.AzureBlobRepository,  Sitecore.PackageManagementService.AzureStorageProviderに変更してください:

  3. AzureポータルでAzure Blobストレージアカウントの接続文字列の値をAzureStorage設定の価値として指定してください。

ウェブAPI 2.0

このサービスはパッケージの観察とダウンロードのためのWeb APIを提供します。

クエリ文字列に ?api-version= を追加して、特定のバージョンのAPIを使います。

Sitecoreプラットフォームのアップデート

APIには、Sitecoreプラットフォームのアップデートをクエリおよびダウンロードするための以下の方法があります:

  • /api/updates/**/*<platform group name (Platform or Management)>*?api-version=2.0

    特定のプラットフォームバージョンおよびプラットフォームグループのパッケージ説明のリストを返します。

  • /api/updates/**/*<platform group name (Platform or Management)>*/latest?api-version=2.0

    特定のプラットフォームバージョンおよびプラットフォームグループの最新パッケージの説明を返します。

  • /api/updates/**/*<platform group name (Platform or Management)>*/**?api-version=2.0

    特定のプラットフォーム、プラットフォームグループ、パッケージバージョンのパッケージの説明を返します。

  • /api/download/updates/**/platforms/*<platform group name (Platform or Management)>*?api-version=2.0

    特定のプラットフォームバージョンのパッケージストリームをパッケージ名とバージョンごとに返します。

モジュールの最新情報

APIにはモジュールの更新クエリおよびダウンロードのための以下のメソッドがあります:

  • /api/updates/**/modules/**/**?api-version=2.0

    特定のモジュールバージョンのパッケージ記述のリストを返します。

  • /api/updates/**/modules/**/**/latest?api-version=2.0

    特定のモジュールバージョンの最新パッケージの説明を返します。

  • /api/updates/**/modules/**/**/?api-version=2.0

    モジュール名、パッケージバージョン、プラットフォームバージョンごとにパッケージの説明を返します。

  • /api/download/updates/**/modules/**/**/**?api-version=2.0

    特定のプラットフォームバージョンのパッケージストリームをパッケージ名とバージョンで返します。

Sitecoreプラットフォームおよびモジュールのホットフィックス

APIには、プラットフォームおよびモジュールのホットフィックスのクエリおよびダウンロードのための以下のメソッドがあります:

  • /api/hotfixes/*<packageName(Platform, Management or module name like EXM)>*/**/latest?api-version=2.0

    特定のプラットフォームバージョンで利用可能なホットフィックスの説明リストを返します。

  • /api/hotfixes/*<packageName(Platform, Management or module name like EXM)>*/**?api-version=2.0

    特定のプラットフォームグループバージョンまたはモジュールバージョンで利用可能なホットフィックスの説明リストを返します。

  • /api/hotfixes/*<packageName(Platform, Management or module name like EXM)>*/**/**?api-version=2.0

    特定のプラットフォームバージョンのホットフィックスパッケージの説明を返します。

  • /api/download/hotfixes/*<packageName(Platform, Management or module name like EXM)>*/**/**?api-version=2.0

    特定のプラットフォームバージョンのホットフィックスパッケージのストリームを返します。

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