はじめに
SharePoint Framework で開発した Web パーツなどのアプリのバージョンアップに伴う更新手順をまとめました。
バージョンアップの手順
/config/package-solution.json の書き換え
package-solution.json ファイルの 6 行目にある version 属性の値を新しいバージョン番号に変更します。
なお、バージョン番号は「メジャー.マイナー.リビジョン.ビルド」という 4 つのブロックで構成されています。
それぞれの数字が大きいほどバージョンが新しいということになります。
1 2 3 4 5 6 7 8 | { "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", "solution": { "name": "LinkListWebPart", "id": "9bd62b12-131b-47e9-bdbb-426b48a5c004", "version": "1.3.0.0", "includeClientSideAssets": true, "isDomainIsolated": false, |
/package.json の書き換え
package.json の 3 行目にある version 属性の値を新しいバージョン番号に変更します。
なお、package.json のバージョン番号は「メジャー.マイナー.リビジョン」の 3 つのブロックしかありません。
これら 3 つのブロックの値は、分かりやすさのためにも package-solution.json の version 属性の値と同じにすることをお勧めします。
1 2 3 4 5 6 7 8 | { "name": "link-list-webpart", "version": "1.3.0", "private": true, "main": "lib/index.js", "engines": { "node": ">=0.10.0" }, |
パッケージファイルの作成
gulp bundle --ship と gulp package-solution --ship を実行しパッケージファイルを作成します。
アプリカタログに上書きアップロード
アプリカタログに新バージョンのパッケージファイルをアップロードします。
これにより、アプリカタログにアップロード済みの前バージョンのパッケージファイルが更新されます。
また、このタイミングでアプリ本体(.js、.css など)が更新され、新しいバージョンのアプリが即時使用されるようになります。
パッケージ情報の更新
アプリ本体はアプリカタログにパッケージファイルを上書きアップロードした時点で更新されますが、package-solution.json に記載した内容はこのままでは更新されません。
新バージョンの package-solution.json の内容を適用するためには、明示的な更新操作が必要です。
サイトコンテンツからバージョンアップしたいアプリの右クリックメニューを表示して、[詳細] をクリックし、アプリの詳細ダイアログを表示します。
詳細ダイアログの [取得] ボタンをクリックすることで、新バージョンの package-solution.json の内容が反映されます。
以上が、SharePoint Framework で開発したアプリのバージョンアップ手順です。
注意点
- アプリ本体のバージョンアップだけであれば、新バージョンのパッケージファイルをアプリカタログに上書きアップロードするだけです。
これだけで、同一のアプリカタログのアプリを使っている全てのサイトに新バージョンが展開可能です。
逆に言うと、それだけで多くのサイトに影響を与えてしまうことになるため、新バージョンの展開には注意が必要です。 - バージョン番号を変えずにコードのみ変更したバージョンをアプリカタログにアップロードした場合や、いずれかのサイトでアプリが使用中であるにも関わらず、アプリカタログからパッケージファイルを削除すると、アプリの情報が破損する可能性がありますとのこと。(実際破損したことはないのですが・・・)