Jayden

Jayden

自動更新 Mix-Space & Shiro

@innei 大佬一天數更的更新速度,為保證隨時體驗到最新的特性,寫一個腳本來每日自動更新 Mix-Space 和 Shiro 非常有必要。

更新腳本#

我的 Mix-Space 後端是用 Docker Compose 部署的,而前端是 Shiro 的閉源版本 Shiroi,編譯後進行部署。

更新前後端的腳本如下:

#!/usr/bin/zsh

# 更新後端

echo "開始更新後端..."
cd /root/mix-space/core
docker compose pull && docker compose up -d
echo "後端更新完畢。"

echo "---------------------------------------------"
#更新前端

cd /root/mix-space/Shiroi

output=$(git pull)
if [[ $output == *"Already up to date."* ]]; then
        echo "前端已經最新啦,不需要更新。"
else
        echo "開始更新前端..."
        npm install -g pnpm
        npm install -g pm2
        echo "開始安裝依賴..."
        pnpm i
        echo "依賴安裝完畢。"
        echo "開始編譯..."
        pnpm build
        echo "編譯結束。"
        echo "正在重啟前端..."
        pm2 remove 0
        pm2 start ecosystem.config.cjs
        echo "重啟前端完畢"
fi
echo "最後更新時間:"
date

定時運行#

我設置的是每天 1 點 10 分進行自動更新,將日誌輸出到 /root/sh/update.log 中,您可以參考。

crontab -e
10 1 * * * /root/sh/mix-space-shiroi-update.sh >> /root/sh/update.log 2>&1

我完全是一個寫 shell 腳本的新手,雖然寫的很爛,但卓有成效。

您如果有更好的主意,歡迎在評論區和我討論。

此文由 Mix Space 同步更新至 xLog
原始連結為 https://xxu.do/posts/geek/update-Mix-Space-and-Shiro


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。