Install
openclaw skills install auto-deployAutomates Git project deployment by pulling code, building, and deploying via SSH to Linux servers with backup and health checks.
openclaw skills install auto-deploy自动化 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)敏感信息保护:
chmod 600权限控制:
备份策略:
用户:帮我加个积分查询接口
1. 开发修改代码
2. 提交 Git
3. 自动构建部署
4. 回复用户:已完成部署 ✅
用户:实现一个积分排行榜功能
1. 开发修改代码
2. 提交到 feature 分支
3. 回复用户:开发完成,请 Review
4. 用户确认后合并到 main 并部署
# 获取最新备份版本
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