This commit is contained in:
zydi 2025-12-19 07:54:56 +00:00
parent 4b0551e272
commit 86e0a76b73
3 changed files with 100 additions and 0 deletions

View File

@ -0,0 +1,27 @@
# Common Workflows 模板说明
本目录用于存放通用的 Gitea/GitHub Actions 工作流模板,方便在不同项目之间复制复用。
## 可直接复制使用的模板
- **构建镜像工作流模板**`build-images.yml`
- 作用:用于在 `<分支>` 分支上构建 Docker 镜像。
- 触发条件:
- 推送到 `<分支>` 分支,并且改动包含 `Dockerfile*`、`requirements.txt` 或 `.gitea/workflows/build-images.yml`
- 手动触发 (`workflow_dispatch`)
- 使用方式:
1. 复制该文件到目标项目的 `.gitea/workflows/build-images.yml`(或对应 CI 目录)。
2. 根据项目实际情况修改其中的 `<image_name>`、`<version>` 以及 `Dockerfile` 路径等参数。
- **Docker 部署工作流模板**`deploy-docker.yml`
- 作用:在 `<分支>` 分支上,通过 `docker compose` 部署服务。
- 触发条件:
- 推送到 `<分支>` 分支
- 手动触发 (`workflow_dispatch`)
- 使用方式:
1. 复制该文件到目标项目的 `.gitea/workflows/deploy-docker.yml`(或对应 CI 目录)。
2. 确认项目根目录存在 `docker-compose.yml`,并根据需要调整步骤中的命令。
## 其他文件/目录
`actions/`、`docs/` 等其他文件或目录仅作内部使用或扩展示例,对实际在项目中使用上述两个模板不是必需的,你可以忽略它们。

36
build-images.yml Normal file
View File

@ -0,0 +1,36 @@
name: Build Docker Images
on:
push:
branches:
- <分支名>
paths:
- 'Dockerfile*'
- 'requirements.txt'
- '.gitea/workflows/build-images.yml'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: <分支名>
fetch-depth: 0
- name: Build Docker image
run: |
echo "====== 开始构建 Docker 镜像 ======"
docker build \
-t <image_name>:<version> \
-f Dockerfile \
.
echo "====== 验证镜像 ======"
docker image inspect <image_name>:<version>
echo "✓ 构建完成"

37
deploy-docker.yml Normal file
View File

@ -0,0 +1,37 @@
name: Deploy with Docker Compose
on:
push:
branches:
- <监听分支名>
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: <监听分支名>
sparse-checkout: |
.gitea/workflows/deploy-docker.yml
docker-compose.yml
sparse-checkout-cone-mode: false
- name: Stop old services
run: |
echo "====== 停止旧服务 ======="
docker compose down || true
echo "✓ 旧服务已停止"
- name: Deploy with Docker Compose
run: |
echo "====== 开始部署服务 ======"
# 启动所有服务
echo "启动服务..."
docker compose up -d || true
echo ""
echo "====== 部署完成 ======="