2
0
mirror of https://github.com/acepanel/acepanel.github.io.git synced 2026-02-04 11:27:14 +08:00
Files
acepanel.github.io/zh_TW/advanced/toolbox/webhook.md
github-actions[bot] 5b9a08c9a1 New Crowdin translations by GitHub Action (#76)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-01-27 05:28:16 +08:00

81 lines
2.0 KiB
Markdown
Raw 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.
# Web 鉤子
Web 鉤子Webhook允許你通過 HTTP 請求觸發伺服器上的腳本執行實現自動化部署、CI/CD 整合等功能。
![Web 鉤子](/images/toolbox/toolbox-webhook.png)
## 建立 Web 鉤子
點擊 **建立 Web 鉤子** 按鈕,填寫以下資訊:
![建立 Web 鉤子](/images/toolbox/toolbox-webhook-create.png)
- **名稱**Web 鉤子的名稱,用於標識用途
- **使用者**:執行腳本的系統使用者,預設為 root
- **原始輸出**:開啟後返回腳本的原始輸出,關閉則返回 JSON 格式
- **腳本**:要執行的 Shell 腳本內容
## 使用方式
建立完成後,系統會產生一個唯一的 Key。 通過存取以下 URL 即可觸發腳本執行:
```
https://your-panel-domain/api/webhook/{key}
```
支援 GET 和 POST 請求。
## 適用場景
### Git 自動部署
配合 GitHub/GitLab 的 Webhook 功能,實現程式碼推送後自動部署:
```bash
#!/bin/bash
cd /opt/ace/projects/myproject
git pull origin main
npm install
npm run build
```
### 定時任務觸發
通過外部服務(如監控系統)觸發特定操作:
```bash
#!/bin/bash
# 清理臨時檔案
rm -rf /tmp/cache/*
# 重啟服務
systemctl restart myapp
```
### CI/CD 整合
在 CI/CD 流水線中呼叫 Webhook 完成部署:
```bash
# 在 CI 腳本中
curl -X POST https://panel.example.com/api/webhook/your-key
```
## 列表說明
| 欄位 | 說明 |
| ----- | --------------- |
| 名稱 | Web 鉤子名稱 |
| Key | 唯一標識,用於建構呼叫 URL |
| 執行使用者 | 執行腳本的系統使用者 |
| 原始輸出 | 是否返回原始文字輸出 |
| 已啟用 | 是否啟用該 Web 鉤子 |
| 呼叫次數 | 累計被呼叫的次數 |
| 最後呼叫 | 最後一次呼叫時間 |
## 注意事項
1. Key 是敏感資訊,不要洩露給不信任的人
2. 腳本以指定使用者身份執行,注意權限控制
3. 建議在腳本中添加必要的錯誤處理
4. 可以通過停用開關臨時停用 Web 鉤子