Package Management Service

概要

ローカル アップデート センターで Package Management Service を使用する方法

Package Management Service を使用して、ユーザーが Sitecore パッケージに関する情報を取得し、それらのパッケージをダウンロードしてインストールできる Web API を提供することができます。これにはアップデート センターを使用します。これらのパッケージはローカルでホストします。

Package Management Service は、次の 2 つの構成グループをサポートします。

  • 管理 - このプラットフォーム グループには、WCMS 構成、ファイル、DLL のみが含まれます。Sitecore Analytics に必要なパーツが含まれない XM です。

  • プラットフォーム - このプラットフォーム グループには XP に必要なファイルが含まれています。完全な Sitecore 構成です。

Package Management Service を使用して組織内で 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 プラットフォームおよびモジュールは、意味のあるバージョン管理に基づいたバージョン名を使用します。

  • 定期的な更新の名前は <Major>.<Minor>.<Patch> のようになります (例: 9.2.2)。

  • ホットフィックスの名前は <Major>.<Minor>.<Patch>.<Hotfix> のようになります (例: 9.2.0.3)。

Package Management Service のパッケージはファイル システムの特定のフォルダー構造に保存する必要があります。この構造によって、プラットフォームまたはモジュールの特定のバージョンのパッケージの可用性が定義されます。

フォルダー構造では、次の要素が定義されます。

  • パッケージが更新かホットフィックスか。

  • プラットフォームまたはモジュールのソース バージョン。

  • プラットフォームまたはモジュールのターゲット バージョン。

更新は、次のようにフォルダー構造に保存されます。

  • プラットフォームの更新の場合:

    <updates root>\<source platform version>\<platform group name (Platform or Management)>\<target platform version>

  • モジュールの更新の場合:

    <updates root>\<source platform version>\Modules\<module name>\<current module version>\<target modules version>

前に説明したように、web.config ファイルで更新ルート フォルダーを指定します。

フォルダー構造の例は、次のとおりです。

フォルダー構造

フォルダーの場所:

フォルダー パス

説明

\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 にアップグレードできます。

ホットフィックスは、次のようにフォルダー構造に保存されます。

<hotfixes root>\<package name (Platform, Management or module name like EXM)>\<source product version>\<target product version>

フォルダー構造の例は、次のとおりです。

フォルダー構造

フォルダーの場所:

フォルダー パス

説明

<hotfixes root>\management\9.1.0\9.1.0.1

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

<hotfixes root>\platform\9.1.0\9.1.0.1

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

<hotfixes root>\sxa\1.5.0\1.5.0.1

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

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

Package Management Service に Azure Blob storage を使用するには、web.config ファイルに次の変更を行います。

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

  2. 次のように、PackageRepositoryProvider 設定の値をSitecore.PackageManagementService.AzureStorageProvider.Repositories.AzureBlobRepository,  Sitecore.PackageManagementService.AzureStorageProvider に変更します。

    <add key="PackageRepositoryProvider" value="Sitecore.PackageManagementService.AzureStorageProvider.Repositories.AzureBlobRepository,  Sitecore.PackageManagementService.AzureStorageProvider"/>
  3. Azure ポータルの Azure Blob ストレージ アカウントからの接続文字列値を AzureStorage 設定の値として指定します。

このサービスは、パッケージを監視およびダウンロードするための Web API を提供します。

?api-version=<number of api version> を、API の特定のバージョンを使用するクエリ文字列に追加します。

Sitecore プラットフォームの更新

API には、Sitecore プラットフォームの更新をクエリしてダウンロードする次のメソッドがあります。

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

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

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

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

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

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

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

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

モジュールの更新

API には、モジュールの更新をクエリしてダウンロードする次のメソッドがあります。

  • /api/updates/<sitecoreVersion>/modules/<moduleName>/<moduleVersion>?api-version=2.0

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

  • /api/updates/<sitecoreVersion>/modules/<moduleName>/<moduleVersion>/latest?api-version=2.0

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

  • /api/updates/<sitecoreVersion>/modules/<moduleName>/<moduleVersion>/<packageVersion>?api-version=2.0

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

  • /api/download/updates/<sitecoreVersion>/modules/<moduleName>/<moduleVersion>/<packageVersion>?api-version=2.0

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

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

API には、プラットフォームおよびモジュールのホットフィックスをクエリしてダウンロードする次のメソッドがあります。

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

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

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

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

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

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

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

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