Files
markbase/docs/gitea_runner_setup.md
Warren e3d6b60825 feat: MarkBase initial version
Phase 1 (Infrastructure):
- Docs: README.md, AGENTS.md, CHANGELOG.md
- Tests: 26 tests (modes_test, filetree_api_test)
- Examples: examples/sample.md, sample.json
- CI/CD: .gitea/workflows/test.yml, release.yml
- Runner: configuration scripts and guides

Phase 2 (Quality):
- Code quality: rustfmt/clippy config
- Security: environment variables
- Test coverage: 62 tests (+36)
- Documentation: CONTRIBUTING.md, docs/api.yaml
- Showcase: demo_features.md, developer_quickstart.md

Test coverage: 75%
Test pass rate: 100%
2026-05-16 15:37:37 +08:00

300 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gitea Actions Runner配置指南
##環境資訊
- **Gitea Server**: https://gitea.momentry.ddns.net
- **Gitea版本**: 1.25.3(支援 Actions
- **Runner位置**:本機Mac
- **目標**:實機測試 macOS音訊功能
---
##配置步驟
### 1. 取得 Runner Token
1.登入 Gitea: https://gitea.momentry.ddns.net
2.進入 **Settings → Actions → Runners**
3.建立新 Runner複製 Token
**Token格式範例**
```
A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6
```
---
### 2.下載並安裝 Runner
**macOS ARM版本**
```bash
#下載 act_runnerGitea官方Runner
wget https://dl.gitea.com/act_runner/latest/act_runner-darwin-arm64
#設定執行權限
chmod +x act_runner-darwin-arm64
#移動到系統路徑
sudo mv act_runner-darwin-arm64 /usr/local/bin/act_runner
#驗證安裝
act_runner --version
```
---
### 3.註冊 Runner
**連接遠端 Gitea**
```bash
#註冊 Runner使用步驟1取得的Token
act_runner register --instance https://gitea.momentry.ddns.net --token <YOUR_TOKEN>
#交互式配置
#會提示輸入 Runner名稱、標籤等資訊
```
**建議配置:**
- Runner名稱`macos-runner`
- Labels`macos-latest`
- Runner groupdefault
---
### 4.啟動 Runner
**前景執行(測試用):**
```bash
act_runner daemon
```
**背景服務macOS launchd**
建立服務配置檔案:
```xml
<!-- ~/Library/LaunchAgents/com.gitea.runner.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.gitea.runner</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/act_runner</string>
<string>daemon</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/gitea-runner.log</string>
<key>StandardErrorPath</key>
<string>/tmp/gitea-runner.err</string>
</dict>
</plist>
```
**載入服務:**
```bash
#載入服務
launchctl load ~/Library/LaunchAgents/com.gitea.runner.plist
#驗證服務狀態
launchctl list | grep gitea
```
---
### 5.驗證 Runner狀態
**在 Gitea網頁驗證**
1.登入 Gitea
2. Settings → Actions → Runners
3.確認 Runner已連接狀態為 green
**在本機驗證:**
```bash
#檢查 Runner狀態
act_runner list
#檢查 Runner日誌
tail -f /tmp/gitea-runner.log
```
---
##必要環境配置
### Rust Toolchain
```bash
#確認 Rust環境
rustc --version
cargo --version
#若未安裝
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
### SwitchAudioSource音訊測試
```bash
#安裝
brew install switchaudio-source
#驗證
SwitchAudioSource -a
```
###其他工具
```bash
#確認 clippy
cargo clippy --version
#確認 rustfmt
cargo fmt -- --version
```
---
## Workflow觸發測試
###觸發方式
**Push觸發**
```bash
git push origin main
```
**PR觸發**
```bash
git checkout -b feature/test
git push origin feature/test
#在 Gitea建立 Pull Request
```
**查看執行結果:**
1.進入專案頁面
2. Actions →查看workflow執行狀態
---
##常見問題
### Runner無法連接 Gitea
**檢查網路連接:**
```bash
curl -I https://gitea.momentry.ddns.net
```
**確認 Token正確**
```bash
act_runner list
```
### Workflow執行失敗
**檢查日誌:**
```bash
tail -f /tmp/gitea-runner.log
```
**常見錯誤:**
- Rust未安裝 →安裝 Rust toolchain
- SwitchAudioSource未安裝 → brew install
- clippy警告 →修復代碼
---
## Runner維護
###更新 Runner
```bash
#停止服務
launchctl unload ~/Library/LaunchAgents/com.gitea.runner.plist
#下載新版本
wget https://dl.gitea.com/act_runner/latest/act_runner-darwin-arm64
#重新安裝
chmod +x act_runner-darwin-arm64
sudo mv act_runner-darwin-arm64 /usr/local/bin/act_runner
#重新啟動
launchctl load ~/Library/LaunchAgents/com.gitea.runner.plist
```
###清理緩存
```bash
#清理 cargo緩存
cargo clean
#清理測試暫存檔
rm -f data/users/test_*.sqlite
```
---
##進階配置
###多 Runner支援
若有多台機器,可配置多個 Runner
```bash
#第二台機器註冊
act_runner register --instance https://gitea.momentry.ddns.net --token <TOKEN2>
```
**使用不同 labels區分**
- macos-runner-1: `macos-latest`
- macos-runner-2: `macos-14`
- linux-runner: `ubuntu-latest`
---
##安全性考量
### Token管理
- Token應妥善保存避免暴露
-定期更新 Token
- 使用環境變數配置
###網路安全
- Gitea使用 HTTPS已配置
- Runner使用 Token認證
-僅連接信任的 Gitea server
---
##叢考資源
- [Gitea Actions官方文檔](https://docs.gitea.com/usage/actions/overview)
- [act_runner GitHub](https://gitea.com/gitea/act_runner)
- [GitHub Actions兼容性](https://docs.gitea.com/usage/actions/comparison)
---
**最後更新2026-05-16**