プロジェクト

全般

プロフィール

バージョンアップ手順

一応サービスを上げたままで実施可能ですが、リロード時に30秒位くらいサービスダウンするのでサービスは落として実施します。
参考: misskey-hub

手順

  1. サービスを停止します
    systemctl stop misskey
    
  2. misskeyユーザにスイッチします(nologinのためシェル指定)
    su -s /bin/bash - misskey
    
  3. インストール先に移動します
    cd misskey
    pwd
    
    /home/misskey/misskey
    
  4. 現在のブランチを確認する
    git branch
    ------------------------------
      develop (ベータ版も入る)
    * master  (stable版メイン)
    
  5. gitのローカルリポジトリを更新します
    git fetch
    
    1. stable/developの切り替えでブランチの変更を行う必要がある場合のみ
      git checkout master
      ------------------------------
      Switched to branch 'master'
      Your branch is behind 'origin/master' by 1106 commits, and can be fast-forwarded.
        (use "git pull" to update your local branch)
      
  6. pullしてファイルを更新します
    git pull
    
    1. なんからかの手動パッチを行っている場合、下記のようなメッセージが表示されるので「git stash」で待避する。
      pullが成功後、待避したファイルを戻すかパッチを当て直すかはpullされたファイルが更新されたかによる。
      (基本的にはパッチの内容が軽微であれば、破棄してパッチし直す方が安全)
      # 更新取得(パッチとコンフリクトする内容)
      $ git pull
      Updating 994fc062cf..7420c10a58
      error: Your local changes to the following files would be overwritten by merge:
          package.json
      Please commit your changes or stash them before you merge.
      Aborting
      
      # 待避
      $ git stash
      Saved working directory and index state WIP on master: 994fc062cf Merge pull request #16840 from misskey-dev/develop
      
      # 更新取得
      $ git pull
      
      ----------------------------------------
      # 待避した内容を戻す
      $ git stash pop
      
      # または破棄する
      $ git stash drop
      
  7. モジュールを更新します
    git submodule update --init
    
  8. nodeモジュールを更新します
    NODE_ENV=production pnpm install --frozen-lockfile
    
  9. ビルドします
    NODE_ENV=production pnpm run build
    ------------------------------
    ExperimentalWarningは無視してよい
    
  10. データベース等のマイグレートを実施します
    pnpm run migrate
    
  11. misskeyユーザから戻ります
    exit
    
  12. サービスを起動します
    起動後に実際にアクセス可能になるまで30秒くらいかかります
    systemctl start misskey