SharePoint Framework で開発したアプリのバージョンアップ

投稿者: | 2020年8月30日

はじめに

SharePoint Framework で開発した Web パーツなどのアプリのバージョンアップに伴う更新手順をまとめました。

バージョンアップの手順

/config/package-solution.json の書き換え

package-solution.json ファイルの 6 行目にある version 属性の値を新しいバージョン番号に変更します。
なお、バージョン番号は「メジャー.マイナー.リビジョン.ビルド」という 4 つのブロックで構成されています。
それぞれの数字が大きいほどバージョンが新しいということになります。

/package.json の書き換え

package.json の 3 行目にある version 属性の値を新しいバージョン番号に変更します。
なお、package.json のバージョン番号は「メジャー.マイナー.リビジョン」の 3 つのブロックしかありません。
これら 3 つのブロックの値は、分かりやすさのためにも package-solution.json の version 属性の値と同じにすることをお勧めします。

パッケージファイルの作成

gulp bundle --ship と gulp package-solution --ship を実行しパッケージファイルを作成します。

アプリカタログに上書きアップロード

アプリカタログに新バージョンのパッケージファイルをアップロードします。
これにより、アプリカタログにアップロード済みの前バージョンのパッケージファイルが更新されます。

また、このタイミングでアプリ本体(.js、.css など)が更新され、新しいバージョンのアプリが即時使用されるようになります。

パッケージ情報の更新

アプリ本体はアプリカタログにパッケージファイルを上書きアップロードした時点で更新されますが、package-solution.json に記載した内容はこのままでは更新されません。
新バージョンの package-solution.json の内容を適用するためには、明示的な更新操作が必要です。

サイトコンテンツからバージョンアップしたいアプリの右クリックメニューを表示して、[詳細] をクリックし、アプリの詳細ダイアログを表示します。
詳細ダイアログの [取得] ボタンをクリックすることで、新バージョンの package-solution.json の内容が反映されます。

以上が、SharePoint Framework で開発したアプリのバージョンアップ手順です。

注意点

  • アプリ本体のバージョンアップだけであれば、新バージョンのパッケージファイルをアプリカタログに上書きアップロードするだけです。
    これだけで、同一のアプリカタログのアプリを使っている全てのサイトに新バージョンが展開可能です。
    逆に言うと、それだけで多くのサイトに影響を与えてしまうことになるため、新バージョンの展開には注意が必要です。
  • バージョン番号を変えずにコードのみ変更したバージョンをアプリカタログにアップロードした場合や、いずれかのサイトでアプリが使用中であるにも関わらず、アプリカタログからパッケージファイルを削除すると、アプリの情報が破損する可能性がありますとのこと。(実際破損したことはないのですが・・・)

参考

SharePoint Framework におけるチーム ベースの開発