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


加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。