reposync/deploy.sh

38 lines
941 B
Bash

#!/bin/bash
# 部署脚本
set -e
echo "开始部署 RepoSync 到生产环境..."
# 检查环境变量
if [ -z "$DEPLOY_HOST" ]; then
echo "错误: 未设置 DEPLOY_HOST 环境变量"
exit 1
fi
if [ -z "$DEPLOY_USER" ]; then
echo "错误: 未设置 DEPLOY_USER 环境变量"
exit 1
fi
# 创建远程目录
echo "创建远程部署目录..."
ssh $DEPLOY_USER@$DEPLOY_HOST "mkdir -p /opt/reposync"
# 复制配置文件
echo "复制配置文件..."
scp docker-compose.yml $DEPLOY_USER@$DEPLOY_HOST:/opt/reposync/
scp env.production $DEPLOY_USER@$DEPLOY_HOST:/opt/reposync/.env
# 在远程服务器上执行部署
echo "执行部署..."
ssh $DEPLOY_USER@$DEPLOY_HOST "cd /opt/reposync && \
docker-compose pull && \
docker-compose down && \
docker-compose up -d && \
docker-compose ps"
echo "部署完成!"
echo "应用访问地址: http://$DEPLOY_HOST"
echo "API 文档地址: http://$DEPLOY_HOST/docs"