## 新功能 - OCRmyPDF 轉換引擎:將掃描版 PDF 轉換為可搜尋 PDF - 支援 7 種語言:en, zh-TW, zh, ja, ko, de, fr - 與 PDFMathTranslate 風格一致的 UI 格式 (pdf-<lang>) - 自動偵測頁面方向並旋轉 - 自動校正傾斜 - 跳過已有文字層的頁面 - 詳細的 5 階段處理進度輸出 ## 建置 - Dockerfile:安裝 ocrmypdf 與 Tesseract OCR 語言包 ## 文件 - 更新 OCR 功能文件 - 文件目錄結構改為中文名稱 ## 測試 - 修復 BabelDOC 和 PDFMathTranslate 測試的 OCR mock - 所有 345 個測試通過
148 lines
2.2 KiB
Markdown
148 lines
2.2 KiB
Markdown
# CI/CD
|
|
|
|
本文件說明 ConvertX-CN 的持續整合與持續部署設定。
|
|
|
|
---
|
|
|
|
## GitHub Actions
|
|
|
|
### 測試工作流
|
|
|
|
每次 Push 和 Pull Request 自動執行:
|
|
|
|
```yaml
|
|
# .github/workflows/test.yml
|
|
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v1
|
|
|
|
- name: Install dependencies
|
|
run: bun install
|
|
|
|
- name: Run lint
|
|
run: bun run lint
|
|
|
|
- name: Run tests
|
|
run: bun run test
|
|
```
|
|
|
|
### Docker 建構工作流
|
|
|
|
標籤推送時自動建構並發布 Docker 映像:
|
|
|
|
```yaml
|
|
# .github/workflows/docker.yml
|
|
name: Docker Build
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_TOKEN }}
|
|
|
|
- name: Build and push
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
tags: |
|
|
convertx/convertx-cn:latest
|
|
convertx/convertx-cn:${{ github.ref_name }}
|
|
```
|
|
|
|
---
|
|
|
|
## 工作流程
|
|
|
|
### 開發流程
|
|
|
|
```
|
|
1. 開發者提交 PR
|
|
↓
|
|
2. 自動執行測試
|
|
↓
|
|
3. 通過 Review
|
|
↓
|
|
4. 合併到 main
|
|
```
|
|
|
|
### 發布流程
|
|
|
|
```
|
|
1. 建立版本標籤 (v0.1.x)
|
|
↓
|
|
2. 自動建構 Docker 映像
|
|
↓
|
|
3. 推送到 Docker Hub
|
|
↓
|
|
4. 更新 latest 標籤
|
|
```
|
|
|
|
---
|
|
|
|
## 環境變數
|
|
|
|
### 測試環境
|
|
|
|
| 變數 | 說明 |
|
|
| ---------- | ----------- |
|
|
| `CI` | CI 環境標記 |
|
|
| `NODE_ENV` | `test` |
|
|
|
|
### Docker 建構
|
|
|
|
| 變數 | 說明 |
|
|
| ----------------- | ---------------- |
|
|
| `DOCKER_USERNAME` | Docker Hub 帳號 |
|
|
| `DOCKER_TOKEN` | Docker Hub Token |
|
|
|
|
---
|
|
|
|
## 本地模擬 CI
|
|
|
|
### 執行完整檢查
|
|
|
|
```bash
|
|
# 模擬 CI 流程
|
|
bun run lint
|
|
bun run typecheck
|
|
bun run test
|
|
bun run build
|
|
```
|
|
|
|
### 建構 Docker 映像
|
|
|
|
```bash
|
|
docker build -t convertx-cn-test .
|
|
```
|
|
|
|
---
|
|
|
|
## 相關文件
|
|
|
|
- [測試策略](測試策略.md)
|
|
- [E2E 測試](E2E測試.md)
|
|
- [貢獻指南](../開發指南/貢獻指南.md)
|