0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Misskeyをワンライナーでアプデしたいし変更点を確認したい

Last updated at Posted at 2024-07-15

Misskeyを頻繁にdev最新に追従したかったのでシェルスクリプトを書いた

このスクリプトでバージョンを更新すると以下のようなバージョン表記になる
スクリーンショット 2024-07-15 22.00.18.png

チェンジログの報告は以下のようなレイアウトになる
スクリーンショット 2024-07-15 22.01.13.png

fishなのは好みなのだけど、bashならコードを少し書き換える必要がある

言うまでもないがdevelop最新はstableじゃないのでビルドできないとかビルドしても起動しないとかが平気で起こるのでちゃんと直せる人しか使ってはいけない

#!/usr/bin/env fish


alias getchangelog 'git log  --pretty=format:"[%ad] %h %an : %s" --date=relative'
alias checkchangelog 'getchangelog HEAD...origin/develop | cat'
function postfromsystem
    read text

    curl 'http://127.0.0.1/api/notes/create' \
    -X 'POST' \
    -H 'Content-Type: application/json' \
    --data-binary '{"text":"'"$text"'","channelId":null,"poll":null,"cw":null,"localOnly":true,"visibility":"public","reactionAcceptance":"nonSensitiveOnly","i":"***********"}'
end


# system update
apt update -y
apt upgrade -yqq

# pull latest misskey
cd misskey
git fetch  --tags


# チェンジログをこねこねする
checkchangelog | postfromsystem

git reset origin/develop --hard
git submodule update --init

# バージョン表記の差し替え
set date (date '+%m.%d')
set hash (git rev-parse --short HEAD)
jq --arg date $date --arg hash $hash '.version += "-devbuild-\($date).\($hash)"' package.json > package.tmp.json
mv package.tmp.json package.json
npx prettier package.json -w

# install, build, migreate, and restart
pnpm i
pnpm build
pnpm migrate
systemctl restart redis-server
systemctl restart misskey
  • pullするというかhard resetする対象は origin/develop origin は misskey-dev/misskey である
  • dev版だとテキスト(翻訳ファイル)の変更があったときに再ビルドされないので package.json のバージョンを書き換える必要がある
    • このときprettierをかけ直さないと差分がガタガタしてぐぬぬってなる
  • たまにサブモジュールが増えたりするので initして updateしてある
  • テーブルのマイグレーションがあってもいいようにbuildのあとにmigrateする
  • 変更点を投稿したいので、postfromsystemという関数を定義している
    • getchangelogはgit log をいい感じにフォーマットするやつ
    • checkchangelogはHEADからorigin/developの間をgetchangelogするやつ
    • checkchangelog | postfromsystem で標準入出力を使って投稿している

この記事は加筆修正リクエスト、コメント歓迎です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?