更新 gitea 工作流

This commit is contained in:
2026-04-23 12:58:00 +09:00
parent 774fedaa7a
commit c0eb87dfcc

View File

@@ -95,18 +95,32 @@ jobs:
username: ${{ gitea.actor }}
password: ${{ secrets.REGISTRY_TOKEN }}
# ── 4. 拉取最新镜像 ──────────────────────────────────────────
# ── 4. 检测 Docker Compose 命令 ─────────────────────────────
- name: 检测 Compose 命令
run: |
if docker compose version &>/dev/null 2>&1; then
echo "COMPOSE_CMD=docker compose" >> $GITHUB_ENV
echo "使用: docker compose"
elif command -v docker-compose &>/dev/null; then
echo "COMPOSE_CMD=docker-compose" >> $GITHUB_ENV
echo "使用: docker-compose"
else
echo "错误:未找到 docker compose 或 docker-compose请先安装"
exit 1
fi
# ── 5. 拉取最新镜像 ──────────────────────────────────────────
- name: 拉取镜像
run: |
docker pull ${{ steps.image.outputs.full }}
echo "镜像摘要: $(docker inspect ${{ steps.image.outputs.full }} --format='{{.Id}}')"
# ── 5. 创建部署目录 ──────────────────────────────────────────
# ── 6. 创建部署目录 ──────────────────────────────────────────
- name: 准备部署目录
run: |
mkdir -p ${{ env.DEPLOY_DIR }}
# ── 6. 写入环境配置文件 ──────────────────────────────────────
# ── 7. 写入环境配置文件 ──────────────────────────────────────
- name: 写入 .env 文件
run: |
cat > ${{ env.DEPLOY_DIR }}/.env.demo << 'ENVEOF'
@@ -119,12 +133,12 @@ jobs:
chmod 600 ${{ env.DEPLOY_DIR }}/.env.demo
echo "env 文件已写入"
# ── 7. 复制 compose 文件到部署目录 ───────────────────────────
# ── 8. 复制 compose 文件到部署目录 ───────────────────────────
- name: 复制 Compose 文件
run: |
cp docker-compose.external-db.yml ${{ env.DEPLOY_DIR }}/docker-compose.yml
# ── 8. 更新 compose 文件中的镜像引用 ─────────────────────────
# ── 9. 更新 compose 文件中的镜像引用 ─────────────────────────
- name: 更新镜像标签
run: |
cd ${{ env.DEPLOY_DIR }}
@@ -132,27 +146,20 @@ jobs:
sed -i "s|image:.*resource-library.*|image: ${{ steps.image.outputs.full }}|g" docker-compose.yml
echo "已更新镜像引用为: ${{ steps.image.outputs.full }}"
# ── 9. 部署 / 更新容器 ──────────────────────────────────────
# ── 10. 部署 / 更新容器 ──────────────────────────────────────
- name: 部署容器
run: |
cd ${{ env.DEPLOY_DIR }}
# 检测 compose 命令
if docker compose version &>/dev/null 2>&1; then
COMPOSE="docker compose"
else
COMPOSE="docker-compose"
fi
$COMPOSE \
$COMPOSE_CMD \
--env-file .env.demo \
--project-name resource-library-demo \
up -d --remove-orphans --pull never
echo "容器已启动"
$COMPOSE --project-name resource-library-demo ps
$COMPOSE_CMD --project-name resource-library-demo ps
# ── 10. 等待服务就绪 ─────────────────────────────────────────
# ── 11. 等待服务就绪 ─────────────────────────────────────────
- name: 健康检查
run: |
max_wait=90
@@ -170,10 +177,12 @@ jobs:
echo " 已等待 ${elapsed}s…"
done
echo "健康检查超时,查看日志:"
docker logs --tail 50 resource-library-demo-app-1 2>/dev/null || true
$COMPOSE_CMD \
--project-name resource-library-demo \
logs --tail 50 2>/dev/null || true
exit 1
# ── 11. 配置 Caddy 站点 ──────────────────────────────────────
# ── 12. 配置 Caddy 站点 ──────────────────────────────────────
- name: 配置 Caddy
run: |
# 确保 Caddy sites 目录存在
@@ -199,7 +208,7 @@ jobs:
echo "Caddy 配置未变更,跳过重载"
fi
# ── 12. 输出部署摘要 ─────────────────────────────────────────
# ── 13. 输出部署摘要 ─────────────────────────────────────────
- name: 输出部署摘要
run: |
echo "## 🚀 Demo 环境部署成功" >> $GITHUB_STEP_SUMMARY