接口+Webhooks实现自动部署

非常简单的自动部署教程

创建一个接口

使用任意编程语言都可以,这里使用Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@RequestMapping("/webhook")
public void jtxyh() {
// 执行脚本,必须是全路径
String bashCommand = "sh /opt/webhook.sh";
Runtime runtime = Runtime.getRuntime();
System.out.println("=================调用开始=================");
Process pro;//②
int time = 0;
try {
pro = runtime.exec(bashCommand);
// 必须等待脚本执行完成,不然会报错
time = pro.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
if(time != 0){
System.out.println("脚本运行错误");
}else{
System.out.println("脚本运行完成");
}
}

创建一个脚本

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env sh

# 1
cd /opt/nginx/html/jtxyh/blog

# 2
git reset --hard

# 3
git pull origin master -f

设置webhooks

码云设置webhook

GitHub设置webhook

总结

每次push到远程仓库后,远程仓库会调用webhook配置的接口地址,这样就完成了基本的自动部署服务

可以在sh脚本中设置不同的操作,完成基本的需求

相关文章

XML

YML

PicGo配置Gitee图床

Chrome DevTools远程调试安卓页面