2024-09-26 10:40:22 +08:00
|
|
|
|
#
|
2024-10-03 23:41:57 +08:00
|
|
|
|
set -e
|
2025-05-15 13:03:37 +08:00
|
|
|
|
|
2025-10-14 22:35:24 +08:00
|
|
|
|
# 设置SUDO命令
|
2025-10-14 22:53:32 +08:00
|
|
|
|
if [[ "$(uname -s)" =~ ^MINGW || "$(uname -s)" =~ ^CYGWIN || "$(uname -s)" =~ ^MSYS ]]; then
|
2025-10-14 22:35:24 +08:00
|
|
|
|
SUDO_CMD=""
|
2025-10-14 22:41:03 +08:00
|
|
|
|
SUDO_CMD_E=""
|
2025-10-14 22:53:32 +08:00
|
|
|
|
else
|
|
|
|
|
|
SUDO_CMD="sudo"
|
|
|
|
|
|
SUDO_CMD_E="sudo -E"
|
2025-10-14 22:35:24 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
2025-10-14 22:41:03 +08:00
|
|
|
|
# echo "即将删除packages下除ui之外的其他目录,按y确认(如果您没有修改过源码,按y即可)"
|
|
|
|
|
|
# read -p "y/n: " confirm
|
|
|
|
|
|
# if [ $confirm != "y" ]; then
|
|
|
|
|
|
# echo "取消操作"
|
|
|
|
|
|
# exit 1
|
|
|
|
|
|
# fi
|
|
|
|
|
|
# find ./packages -mindepth 1 -maxdepth 1 -type d ! -name 'ui' -exec rm -rf {} +
|
|
|
|
|
|
# echo "删除成功"
|
2025-12-29 14:21:25 +08:00
|
|
|
|
echo "修改 pnpm-workspace.yaml"
|
2025-10-14 22:41:03 +08:00
|
|
|
|
cat > pnpm-workspace.yaml << EOF
|
|
|
|
|
|
packages:
|
2025-12-29 14:21:25 +08:00
|
|
|
|
- 'packages/ui/certd-server'
|
2025-10-14 22:41:03 +08:00
|
|
|
|
EOF
|
2024-09-26 10:40:22 +08:00
|
|
|
|
|
2024-09-26 10:24:25 +08:00
|
|
|
|
|
2025-05-15 13:03:37 +08:00
|
|
|
|
# 检查输入是否正确 循环输入
|
|
|
|
|
|
while true; do
|
|
|
|
|
|
echo "是否后台运行(第一次运行建议选择n,调试没有问题之后,重新运行,选择y)"
|
|
|
|
|
|
read -p "y/n: " confirmNohup
|
|
|
|
|
|
# 校验输入是否正确
|
|
|
|
|
|
if [ $confirmNohup != "y" ] && [ $confirmNohup != "n" ]; then
|
|
|
|
|
|
echo "输入错误"
|
|
|
|
|
|
else
|
|
|
|
|
|
break
|
|
|
|
|
|
fi
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-12 23:59:03 +08:00
|
|
|
|
echo "安装pnpm, 前提是已经安装了nodejs"
|
2025-10-14 22:35:24 +08:00
|
|
|
|
$SUDO_CMD npm install -g pnpm --registry https://registry.npmmirror.com
|
2024-09-26 10:24:25 +08:00
|
|
|
|
echo "安装依赖"
|
2025-10-14 22:35:24 +08:00
|
|
|
|
$SUDO_CMD pnpm install --registry https://registry.npmmirror.com
|
2024-09-26 10:24:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-12-29 14:21:25 +08:00
|
|
|
|
# 获取版本号
|
|
|
|
|
|
version=$(node --experimental-json-modules ./scripts/version.js)
|
|
|
|
|
|
echo "当前版本号为: $version"
|
|
|
|
|
|
|
|
|
|
|
|
echo "开始构建"
|
|
|
|
|
|
cd packages/ui/certd-server
|
2024-09-26 10:24:25 +08:00
|
|
|
|
echo "构建certd-server"
|
2025-10-14 22:41:03 +08:00
|
|
|
|
$SUDO_CMD_E pnpm run build
|
2024-09-26 10:24:25 +08:00
|
|
|
|
echo "构建完成"
|
2025-12-29 14:21:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "下载前端ui"
|
2026-01-07 23:43:03 +08:00
|
|
|
|
front_zip="ui-$version.zip"
|
2025-12-29 14:21:25 +08:00
|
|
|
|
# 如果zip有了就不下载
|
2026-01-07 23:43:03 +08:00
|
|
|
|
if [ -f ./$front_zip ]; then
|
|
|
|
|
|
echo "$front_zip 已经存在,不需要下载"
|
2025-12-29 14:21:25 +08:00
|
|
|
|
else
|
2026-01-07 23:43:03 +08:00
|
|
|
|
echo "$front_zip 不存在,开始下载"
|
2025-12-29 14:21:25 +08:00
|
|
|
|
# 下载之前清理一下
|
|
|
|
|
|
rm -rf ui-*.zip
|
|
|
|
|
|
# https://atomgit.com/certd/certd/releases/download/v1.37.16/ui-1.37.16.zip
|
|
|
|
|
|
# 判断是否下载失败
|
2026-01-07 23:43:03 +08:00
|
|
|
|
URL="https://atomgit.com/certd/certd/releases/download/v$version/ui-$version.zip"
|
|
|
|
|
|
if command -v wget &> /dev/null; then
|
|
|
|
|
|
wget -O "$front_zip" "$URL"
|
|
|
|
|
|
elif command -v curl &> /dev/null; then
|
|
|
|
|
|
curl -L -o "$front_zip" "$URL"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "错误:需要 wget 或 curl 来下载前端文件包,请先安装 wget 或 curl"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2025-12-30 00:32:57 +08:00
|
|
|
|
fi
|
2025-12-29 14:21:25 +08:00
|
|
|
|
# 覆盖解压缩
|
2026-01-07 23:43:03 +08:00
|
|
|
|
unzip -o -q $front_zip -d ./public
|
2025-12-29 14:21:25 +08:00
|
|
|
|
|
2024-09-26 10:24:25 +08:00
|
|
|
|
echo "启动服务"
|
2025-05-15 13:03:37 +08:00
|
|
|
|
|
2024-10-17 18:32:45 +08:00
|
|
|
|
# 前台运行
|
2025-05-15 13:03:37 +08:00
|
|
|
|
if [ $confirmNohup != "y" ]; then
|
|
|
|
|
|
echo "当前运行模式为前台运行,ctrl+c或者关闭ssh将会停止运行"
|
2025-10-14 22:35:24 +08:00
|
|
|
|
$SUDO_CMD pnpm run start
|
2025-05-15 13:03:37 +08:00
|
|
|
|
else
|
|
|
|
|
|
echo "当前运行模式为后台运行,可以通过tail -f ./certd.log 命令查看日志"
|
2025-10-14 22:35:24 +08:00
|
|
|
|
nohup $SUDO_CMD pnpm run start > certd.log &
|
2025-05-15 13:03:37 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
2024-10-17 18:32:45 +08:00
|
|
|
|
|