fix: 修复后端 CI/CD Docker 登录和权限问题
- 在服务器端部署前添加阿里云镜像仓库登录步骤 - 优化 Docker 权限处理,减少 sudo 使用 - 修复镜像拉取失败导致的部署中断
This commit is contained in:
@ -188,18 +188,13 @@ jobs:
|
|||||||
# 切换到后端项目目录
|
# 切换到后端项目目录
|
||||||
cd /data/docker/photography/backend
|
cd /data/docker/photography/backend
|
||||||
|
|
||||||
# 修复 Docker 权限问题
|
# 检查 Docker 服务状态
|
||||||
echo "🔧 检查并修复 Docker 权限..."
|
|
||||||
sudo systemctl status docker || sudo systemctl start docker
|
|
||||||
sudo usermod -aG docker ${{ secrets.TYY_USER }} || true
|
|
||||||
|
|
||||||
# 确保 Docker 服务正常运行
|
|
||||||
echo "🐳 检查 Docker 服务状态..."
|
echo "🐳 检查 Docker 服务状态..."
|
||||||
sudo systemctl is-active --quiet docker || {
|
if ! docker info >/dev/null 2>&1; then
|
||||||
echo "❌ Docker 服务未运行,尝试启动..."
|
echo "❌ Docker 服务未运行或权限不足,尝试使用 sudo..."
|
||||||
sudo systemctl start docker
|
echo '${{ secrets.TYY_PWD }}' | sudo -S systemctl start docker
|
||||||
sleep 5
|
sleep 5
|
||||||
}
|
fi
|
||||||
|
|
||||||
# 验证 Docker 权限
|
# 验证 Docker 权限
|
||||||
echo "🔍 验证 Docker 权限..."
|
echo "🔍 验证 Docker 权限..."
|
||||||
@ -208,6 +203,13 @@ jobs:
|
|||||||
exit 1
|
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
|
if docker ps -q -f name=photography-api; then
|
||||||
echo "📦 备份当前后端容器..."
|
echo "📦 备份当前后端容器..."
|
||||||
|
|||||||
Reference in New Issue
Block a user