mirror of
https://github.com/acepanel/acepanel.github.io.git
synced 2026-02-04 11:27:14 +08:00
81 lines
2.0 KiB
Markdown
81 lines
2.0 KiB
Markdown
# Web 鉤子
|
||
|
||
Web 鉤子(Webhook)允許你通過 HTTP 請求觸發伺服器上的腳本執行,實現自動化部署、CI/CD 整合等功能。
|
||
|
||

|
||
|
||
## 建立 Web 鉤子
|
||
|
||
點擊 **建立 Web 鉤子** 按鈕,填寫以下資訊:
|
||
|
||

|
||
|
||
- **名稱**: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 鉤子
|