更新 gitea 工作流
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user