fix: 修复后端 CI/CD Docker 登录和权限问题
Some checks failed
部署后端服务 / 🔄 回滚部署 (push) Has been cancelled
部署后端服务 / 🚀 构建并部署 (push) Has been cancelled

- 在服务器端部署前添加阿里云镜像仓库登录步骤
- 优化 Docker 权限处理,减少 sudo 使用
- 修复镜像拉取失败导致的部署中断
This commit is contained in:
xujiang
2025-07-15 15:26:50 +08:00
parent 4bb20e5882
commit 737fd73af2

View File

@ -188,18 +188,13 @@ 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 服务正常运行
# 检查 Docker 服务状态
echo "🐳 检查 Docker 服务状态..."
sudo systemctl is-active --quiet docker || {
echo "❌ Docker 服务未运行,尝试启动..."
sudo systemctl start docker
if ! docker info >/dev/null 2>&1; then
echo "❌ Docker 服务未运行或权限不足,尝试使用 sudo..."
echo '${{ secrets.TYY_PWD }}' | sudo -S systemctl start docker
sleep 5
}
fi
# 验证 Docker 权限
echo "🔍 验证 Docker 权限..."
@ -208,6 +203,13 @@ jobs:
exit 1
}
# 登录阿里云镜像仓库
echo "🔑 登录阿里云镜像仓库..."
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login ${{ env.REGISTRY }} --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin || {
echo "❌ Docker 登录失败,检查认证信息..."
exit 1
}
# 备份当前运行的容器 (如果存在)
if docker ps -q -f name=photography-api; then
echo "📦 备份当前后端容器..."