脚本
This commit is contained in:
51
deploy.sh
51
deploy.sh
@@ -1,13 +1,62 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# 服务部署脚本
|
# 服务部署脚本
|
||||||
# 用于停止旧服务并启动新服务
|
# 用于停止旧服务并重新启动服务
|
||||||
|
# 使用方法: ./deploy.sh [0] (带0参数时不拉取代码)
|
||||||
|
|
||||||
echo "=== 服务部署脚本 ==="
|
echo "=== 服务部署脚本 ==="
|
||||||
echo "此脚本将停止当前服务并重新启动服务"
|
echo "此脚本将停止当前服务并重新启动服务"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
# 检查是否跳过git pull
|
||||||
|
SKIP_GIT_PULL=0
|
||||||
|
if [ "$1" = "0" ]; then
|
||||||
|
SKIP_GIT_PULL=1
|
||||||
|
echo "跳过代码拉取,直接部署"
|
||||||
|
else
|
||||||
|
echo "默认执行代码拉取"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 如果不跳过git pull,则拉取最新代码
|
||||||
|
if [ $SKIP_GIT_PULL -eq 0 ]; then
|
||||||
|
echo ""
|
||||||
|
echo "正在拉取最新代码..."
|
||||||
|
|
||||||
|
# 读取gitea用户名和密码
|
||||||
|
echo -n "请输入gitea用户名: "
|
||||||
|
read -r GIT_USERNAME
|
||||||
|
echo -n "请输入gitea密码: "
|
||||||
|
read -s GIT_PASSWORD
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 设置git凭据
|
||||||
|
git config credential.helper store
|
||||||
|
echo "https://$GIT_USERNAME:$GIT_PASSWORD@gitea.com" > ~/.git-credentials
|
||||||
|
|
||||||
|
# 拉取代码
|
||||||
|
git pull origin main
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "✓ 代码拉取成功"
|
||||||
|
# 清除git凭据
|
||||||
|
rm -f ~/.git-credentials
|
||||||
|
git config --unset credential.helper
|
||||||
|
else
|
||||||
|
echo "✗ 代码拉取失败"
|
||||||
|
# 清除git凭据
|
||||||
|
rm -f ~/.git-credentials
|
||||||
|
git config --unset credential.helper
|
||||||
|
echo "是否继续部署? (y/n)"
|
||||||
|
read -r CONTINUE_DEPLOY
|
||||||
|
if [ "$CONTINUE_DEPLOY" != "y" ] && [ "$CONTINUE_DEPLOY" != "Y" ]; then
|
||||||
|
echo "部署已取消"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# 读取sudo密码
|
# 读取sudo密码
|
||||||
|
echo ""
|
||||||
echo -n "请输入sudo密码: "
|
echo -n "请输入sudo密码: "
|
||||||
read -s SUDO_PASSWORD
|
read -s SUDO_PASSWORD
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user