fix: 修复后端 CI/CD Docker 登录和权限问题
- 在服务器端部署前添加阿里云镜像仓库登录步骤 - 优化 Docker 权限处理,减少 sudo 使用 - 修复镜像拉取失败导致的部署中断
This commit is contained in:
@ -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 "📦 备份当前后端容器..."
|
||||
|
||||
Reference in New Issue
Block a user