forked from Lesin/reposync
38 lines
941 B
Bash
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" |