fix bug
Some checks failed
部署后端服务 / 🚀 构建并部署 (push) Failing after 2m25s
部署后端服务 / 🔄 回滚部署 (push) Failing after 2s

This commit is contained in:
xujiang
2025-07-15 14:42:31 +08:00
parent cdcccbd00e
commit 4bb20e5882
3 changed files with 35 additions and 6 deletions

View File

@ -188,6 +188,26 @@ jobs:
# 切换到后端项目目录
cd /data/docker/photography/backend
# 修复 Docker 权限问题
echo "🔧 检查并修复 Docker 权限..."
sudo systemctl status docker || sudo systemctl start docker
sudo usermod -aG docker ${{ secrets.TYY_USER }} || true
# 确保 Docker 服务正常运行
echo "🐳 检查 Docker 服务状态..."
sudo systemctl is-active --quiet docker || {
echo "❌ Docker 服务未运行,尝试启动..."
sudo systemctl start docker
sleep 5
}
# 验证 Docker 权限
echo "🔍 验证 Docker 权限..."
docker --version || {
echo "❌ Docker 命令不可用"
exit 1
}
# 备份当前运行的容器 (如果存在)
if docker ps -q -f name=photography-api; then
echo "📦 备份当前后端容器..."
@ -196,11 +216,18 @@ jobs:
# 停止现有服务
echo "🛑 停止现有服务..."
docker compose down api || true
docker compose down api || {
echo "⚠️ 停止服务时遇到问题,继续执行..."
docker stop photography-api || true
docker rm photography-api || true
}
# 拉取最新镜像
echo "📥 拉取最新镜像..."
docker compose pull api
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} || {
echo "❌ 镜像拉取失败,检查网络连接..."
exit 1
}
# 数据库迁移需要手动执行
echo "⚠️ 数据库迁移需要手动执行,请在部署后运行:"
@ -287,7 +314,7 @@ jobs:
echo "📦 找到备份镜像: $BACKUP_IMAGE"
# 停止当前服务
docker compose down backend
docker compose down api
# 标记备份镜像为最新
docker tag $BACKUP_IMAGE photography_backend:rollback
@ -296,7 +323,7 @@ jobs:
sed -i 's|build: .*|image: photography_backend:rollback|g' docker-compose.yml
# 启动回滚版本
docker compose up -d backend
docker compose up -d api
echo "✅ 回滚完成"
else

View File

@ -1,7 +1,8 @@
# Photography Portfolio Backend - Production Docker Compose
# 生产环境配置 - 使用现有 PostgreSQL 和 Redis 服务
version: '3.8'
# version 字段已废弃,不再需要使用
# version: '3.8'
services:
# 后端API服务 (仅API服务无数据库)

View File

@ -1,7 +1,8 @@
# Photography Portfolio Backend - Docker Compose
# 本地开发和测试环境配置
version: '3.8'
# version 字段已废弃,不再需要使用
# version: '3.8'
services:
# PostgreSQL 数据库