init
This commit is contained in:
55
scripts/restful_deploy.sh
Normal file
55
scripts/restful_deploy.sh
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 配置部分
|
||||
BINARY_NAME="restful" # 二进制文件名
|
||||
BUILD_OUTPUT_DIR="./.builds" # 构建输出目录
|
||||
|
||||
# 服务器配置
|
||||
REMOTE_USER="root" # 服务器用户名
|
||||
REMOTE_HOST="market.senlin.ai" # 服务器地址
|
||||
REMOTE_DIR="/data/app" # 服务器部署目录
|
||||
SERVICE_NAME="restful" # 服务名称(如果有systemd服务)
|
||||
|
||||
echo "=== 开始部署流程 ==="
|
||||
|
||||
# 1. 编译Linux二进制文件
|
||||
echo "正在编译Linux二进制文件..."
|
||||
|
||||
# 使用Go语言编译示例 (如果是其他语言请修改此部分)
|
||||
# 如果不是Go项目,请替换为你的构建命令,如make等
|
||||
GOEXPERIMENT=jsonv2 GOOS=linux GOARCH=amd64 go build -o "${BUILD_OUTPUT_DIR}/${BINARY_NAME}" ./cmd/main
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "编译失败!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "编译成功: ${BUILD_OUTPUT_DIR}/${BINARY_NAME}"
|
||||
|
||||
# 2. 停止远程服务
|
||||
echo "正在停止远程服务..."
|
||||
ssh -p 3142 "${REMOTE_USER}@${REMOTE_HOST}" << EOF
|
||||
systemctl stop "${SERVICE_NAME}"
|
||||
EOF
|
||||
|
||||
# 3. 上传到服务器
|
||||
echo "正在上传文件到服务器..."
|
||||
scp -P 3142 "${BUILD_OUTPUT_DIR}/${BINARY_NAME}" "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/${BINARY_NAME}"
|
||||
scp -P 3142 ./etc/${SERVICE_NAME}_prod.yaml "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/etc/${SERVICE_NAME}_prod.yaml"
|
||||
scp -P 3142 ./etc/${SERVICE_NAME}.service "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/etc/${SERVICE_NAME}.service"
|
||||
|
||||
|
||||
# 4. 设置执行权限并启动服务
|
||||
echo "正在设置权限并启动服务..."
|
||||
ssh -p 3142 "${REMOTE_USER}@${REMOTE_HOST}" << EOF
|
||||
chmod +x "${REMOTE_DIR}/${BINARY_NAME}"
|
||||
sudo ln -s ${REMOTE_DIR}/etc/${BINARY_NAME}.service /etc/systemd/system/${BINARY_NAME}.service
|
||||
rm -rf ${REMOTE_DIR}/logs/${BINARY_NAME}.log
|
||||
systemctl daemon-reload
|
||||
systemctl start "${BINARY_NAME}"
|
||||
systemctl status "${BINARY_NAME}" && echo "服务启动成功!" || echo "服务启动可能失败!"
|
||||
cat ${REMOTE_DIR}/logs/${BINARY_NAME}.log
|
||||
EOF
|
||||
|
||||
|
||||
echo "=== 部署完成 ==="
|
||||
25
scripts/restful_restart.sh
Normal file
25
scripts/restful_restart.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 配置部分
|
||||
BINARY_NAME="restful" # 二进制文件名
|
||||
BUILD_OUTPUT_DIR="./.builds" # 构建输出目录
|
||||
|
||||
# 服务器配置
|
||||
REMOTE_USER="root" # 服务器用户名
|
||||
REMOTE_HOST="market.senlin.ai" # 服务器地址
|
||||
REMOTE_DIR="/data/app" # 服务器部署目录
|
||||
SERVICE_NAME="restful" # 服务名称(如果有systemd服务)
|
||||
|
||||
echo "=== 正在重启服务 ==="
|
||||
|
||||
# 4. 设置执行权限并启动服务
|
||||
ssh -p 3142 "${REMOTE_USER}@${REMOTE_HOST}" << EOF
|
||||
systemctl stop "${BINARY_NAME}"
|
||||
rm -rf ${REMOTE_DIR}/logs/${BINARY_NAME}.log
|
||||
systemctl start "${BINARY_NAME}"
|
||||
systemctl status "${BINARY_NAME}" && echo "服务启动成功!" || echo "服务启动可能失败!"
|
||||
cat ${REMOTE_DIR}/logs/${BINARY_NAME}.log
|
||||
EOF
|
||||
|
||||
|
||||
echo "=== 部署完成 ==="
|
||||
Reference in New Issue
Block a user