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
ファイルで更新ルート フォルダーを指定します。
フォルダー構造の例は、次のとおりです。
フォルダーの場所:
フォルダー パス |
説明 |
---|---|
|
更新パッケージのルート フォルダー。 |
|
インストールされているプラットフォームの (現在の) ソース バージョン。この例では 9.1.0 です。 |
|
現在のバージョンからアップグレードできるプラットフォームのターゲット バージョン。この例では、9.1.0 から 9.1.1 または 9.1.2 にアップグレードできます。 |
|
現在のバージョンからアップグレードできるプラットフォーム構成 “Management” のターゲット バージョン。この例では、9.1.0 Management から 9.1.1 または 9.1.2 Management にアップグレードできます。 |
|
プラットフォームの現在インストールされているバージョンと互換性のあるモジュール。 |
|
SXA モジュールの現在のバージョン。この例では 1.5.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>
フォルダー構造の例は、次のとおりです。
フォルダーの場所:
フォルダー パス |
説明 |
---|---|
|
ターゲット プラットフォーム Management グループ バージョン 9.0.1 の最初のホットフィックス。 |
|
ターゲット プラットフォーム バージョン 9.0.1 の最初のホットフィックス。 |
|
SXA モジュール バージョン 1.5.0 の最初のホットフィックス (1.5.0.1)。 |
Azure Blob ストレージの使用
パッケージの保存には、ファイル システムの代わりに Azure Blob ストレージを使用できます。
Package Management Service に Azure Blob storage を使用するには、web.config
ファイルに次の変更を行います。
-
HotfixesRoot
設定およびUpdatesRoot
設定に値を指定します。値には、/
で区切られたAzure Blob ストレージ コンテナー名と仮想ディレクトリ ルートが含まれている必要があります。名前には小文字のみを使用してください。 -
次のように、
PackageRepositoryProvider
設定の値をSitecore.PackageManagementService.AzureStorageProvider.Repositories.AzureBlobRepository, Sitecore.PackageManagementService.AzureStorageProvider
に変更します。RequestResponseshell<add key="PackageRepositoryProvider" value="Sitecore.PackageManagementService.AzureStorageProvider.Repositories.AzureBlobRepository, Sitecore.PackageManagementService.AzureStorageProvider"/>
-
Azure ポータルの Azure Blob ストレージ アカウントからの接続文字列値を
AzureStorage
設定の値として指定します。
Web API 2.0
このサービスは、パッケージを監視およびダウンロードするための 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
特定のプラットフォーム バージョンのホットフィックス パッケージ ストリームを返します。