Ubuntu 7.1.0はかなり大きめの仕様変更がありました。
https://github.com/weseek/growi/releases/tag/v7.1.0
いくつかハマったポイントがありましたが、「自分はこの手順でうまくいった」 というメモを残します。
バージョンアップ前環境
- Ubuntu 24.04
- Mongodb 6.0.19
- npm 10.9.0
- node v20.18.0
- yarn 1.22.22
- Growi 7.0.23
以下の手順に沿ってインストール済みです。
https://barrel.reisalin.com/books/growi/page/ubuntu2404growi-v7v710
バージョンアップ後環境
- Ubuntu 24.04
- Mongodb 6.0.19
- npm 10.9.0
- node v20.18.0
- pnpm 9.12.3
- Growi 7.1.0
ここで分かるように、パッケージ管理がyarnからpnpmへと変わっています。
さっくりとした手順
- Growiサービスを停止します。
- Growiのディレクトリを退避します。
- 新たにgit cloneを行います。
- チェックアウトを行います。
- pnpmのインストールを行います。
- アプリのビルドを行います。
- Growiスタートアップスクリプトをコピーします。
- Growiサービスを起動します。
- バージョンアップを確認します。
なぜか通常のgit checkoutはビルドがうまくいきませんでした。
Growiサービスの停止
- Growiサービス停止前確認
systemctl status growi.service
active(running)
を確認します。
- Growiサービス停止
sudo systemctl stop growi.service
- Growiサービス停止後確認
systemctl stop growi.service
inactive(dead)
を確認します。
Growiディレクトリの退避
- ディレクトリ退避
筆者環境は/home/www-data/growi
です。
sudo mv /home/www-data/growi /path/to/backup/directory/growi_org
- ディレクトリ退避確認
ls -l /path/to/backup/directory/growi_org
ファイル一覧が参照できることを確認します。
Growiデータの新規取得
- git clone
sudo git clone https://github.com/weseek/growi /home/www-data/growi
※任意のディレクトリを指定します。
- ディレクトリ移動
cd /home/www-data/growi && pwd
先ほどcloneしたディレクトリですが、退避前のディレクトリと同じことを確認します。
Growi v7.1.0をチェックアウト
- チェックアウト
sudo git checkout -b v7.1.0 refs/tags/v7.1.0
- lfs pull
sudo git lfs pull
pnpmパッケージのインストール
- npm install
sudo npm install -g pnpm
- インストール確認
pnpm --version
9.12.3
を確認(2024/11/02現在)
Growiインストール
- lfs pull
sudo git lfs pull
- pnpmインストール
sudo pnpm install
※ マシンスペックによっては相当時間がかかります
※ Done in 【時間】と書かれていたらアップグレード完了です
- ビルド
sudo npm run app:build
退避させたGrowiから起動スクリプトのコピー
筆者のように、起動スクリプトをGrowiのインストールディレクトリに仕込んでいる場合の手順です。
- スクリプトコピー
sudo cp -pi /path/to/backup/directory/growi_org/growi-start.sh /home/www-data/growi/
それぞれ、バックアップしたディレクトリとcloneしたディレクトリです。
- コピー確認
ls -l /home/www-data/growi/growi-start.sh
ファイルがあることを確認します。
growiサービスを起動します。
- 再開前のステータス確認
systemctl status growi.service
inactive (dead)を確認します
- サービス再起動
sudo systemctl start growi.service
※ 完全に起動していないと、アクセスしても503エラーが発生します。
- 再開後のステータス確認
systemctl status growi.service
サービススクリプトを[growi]にしている場合
active (running)を確認します
バージョンアップを確認します。
- ブラウザから設定したgrowiのドメイン/IPにアクセスします。
- 画面下部にあるバージョンが7.1.0であることを確認します。