自動化 Git 專案部署技能。支援從私有 Git 倉庫拉取程式碼、構建打包、SSH 部署到 Linux 伺服器。
適用場景: - 使用者提出開發需求後自動開發並部署 - 程式碼修改後自動構建部署 - 多專案部署管理
方式 A:HTTP 認證
# 配置 Git 憑據
git config --global credential.helper store
方式 B:SSH Key(推薦)
# 生成 SSH Key
ssh-keygen -t ed25519 -C "openclaw-deploy" -f ~/.ssh/openclaw_deploy
# 將公鑰新增到 Git 伺服器
cat ~/.ssh/openclaw_deploy.pub
# 生成部署 SSH Key(如果複用上面的可以跳過)
ssh-keygen -t ed25519 -C "server-deploy" -f ~/.ssh/server_deploy
# 將公鑰新增到伺服器
ssh-copy-id -i ~/.ssh/server_deploy.pub user@server_ip
# 測試 Git 連線
git ls-remote http://192.168.1.169:8015/peninsula/points
# 測試伺服器連線
ssh -i ~/.ssh/server_deploy user@server_ip "echo connected"
1. 接收需求 → 2. 拉取程式碼 → 3. 開發修改 → 4. Git 提交
→ 5. 構建打包 → 6. SSH 傳輸 → 7. 伺服器部署 → 8. 服務重啟 → 9. 健康檢查
cd /workspace/points
git pull origin main
根據使用者需求修改程式碼檔案。
git add .
git commit -m "feat: [需求描述]"
git push origin main
Node.js 部分:
cd /workspace/points
npm install
npm run build
Java 部分:
cd /workspace/points/java-module
mvn clean package -DskipTests
# 建立部署包
tar -czf points-deploy.tar.gz dist/ target/*.jar
scp -i ~/.ssh/server_deploy points-deploy.tar.gz user@server:/tmp/
ssh -i ~/.ssh/server_deploy user@server << 'EOF'
# 備份當前版本
cp -r /www/wwwroot/points /www/backup/points_$(date +%Y%m%d_%H%M%S)
# 解壓新程式碼
tar -xzf /tmp/points-deploy.tar.gz -C /www/wwwroot/points
# 重啟服務(根據實際服務管理方式)
# systemd:
systemctl restart points-service
# 或寶塔面板:
/etc/init.d/points restart
# 或 PM2(Node.js):
pm2 restart points
# 清理臨時檔案
rm /tmp/points-deploy.tar.gz
EOF
ssh -i ~/.ssh/server_deploy user@server "curl -s http://localhost:埠/health || exit 1"
在 DEPLOY_CONFIG.md 中配置以下資訊:
| 配置項 | 說明 | 示例 |
|---|---|---|
git.url |
Git 倉庫地址 | http://192.168.1.169:8015/peninsula/points |
git.branch |
預設分支 | main |
server.host |
伺服器 IP | 192.168.1.100 |
server.port |
SSH 埠 | 22 |
server.user |
SSH 使用者 | root |
server.deployPath |
部署路徑 | /www/wwwroot/points |
project.type |
專案型別 | nodejs / java / nodejs+java |
project.build.node.buildCmd |
Node 構建命令 | npm run build |
project.build.java.buildCmd |
Java 構建命令 | mvn clean package |
project.deploy.restartCmd |
重啟命令 | pm2 restart points |
chmod 600 ~/.ssh/server_deploy)SSH Key 設定許可權 chmod 600
許可權控制:
敏感操作需要使用者確認
備份策略:
使用者:幫我加個積分查詢介面
1. 開發修改程式碼
2. 提交 Git
3. 自動構建部署
4. 回覆使用者:已完成部署 ✅
使用者:實現一個積分排行榜功能
1. 開發修改程式碼
2. 提交到 feature 分支
3. 回覆使用者:開發完成,請 Review
4. 使用者確認後合併到 main 並部署
小蔥技能7w4.net持續更新中。
# 獲取最新備份版本
BACKUP=$(ssh user@server "ls -t /www/backup/ | head -1")
# 恢復備份
ssh user@server << EOF
systemctl stop points-service
rm -rf /www/wwwroot/points/*
cp -r /www/backup/$BACKUP/* /www/wwwroot/points/
systemctl start points-service
EOF
版本:1.0.0
最後更新:2026-03-26
這個 Skill 質量中等偏上,自動化程度較高,能完成從開發到部署的完整流程。但安全性有明顯問題——配置中直接寫死了賬號密碼,存在洩露風險。另外有些功能配置了但沒真正用上,體驗上稍打折扣。文件雖然詳細但有點囉嗦。總體來說功能可用,但建議作者補齊安全漏洞再正式使用。