gitee pages服务自动部署
vane 2020-05-03
linux
相信使用gitee Pages的朋友一定碰到过,gitee在部署静态服务的时候仍然需要到gitee Pages页面点击更新、确认之后才能完成部署的情况,你是不是和我一样觉得那是脱裤子放屁(多此一举)————开个玩笑,存在即是合理,但对于程序员来说,能用技术实现的咱就不bb。懒,其实也是一种病。
这里主要实现提交代码gitee Pages可以自动更新部署,下面进入教程:
# 分析
gitee Pages在点击更新后发送了两个请求:
POST https://gitee.com/xxx/xxx/pages/rebuild
POST https://gitee.com/xxx/xxx/pages
1
2
2
实际用于更新部署的只有rebuild那个接口,换句话说,想要更新部署其实只需要主动调用这个接口即可。下面我们来模拟调用环境
# 脚本
这里我们使用更新、部署脚本来实现
#!/usr/bin/env sh
# 确保脚本抛出遇到的错误
set -e
# 生成静态文件
# npm run build
# 进入生成的文件夹
cd public/
# init
git init
git add -A
git commit -m ':construction: deploy:'+$(date "+%Y-%m-%d-%H:%M:%S")
# 如果发布到 https://<USERNAME>.github.io/<REPO>
git push -f git@gitee.com:xxx/xxx.git master
cd -
curl 'https://gitee.com/xxx/blog/pages/rebuild' -H 'authority: gitee.com' -H 'pragma: no-cache' -H 'cache-control: no-cache' -H 'accept: */*' -H 'origin: https://gitee.com' -H 'x-csrf-token: FZrNE8abMcWBZtcAwI9eQSDHXnJNaakGiyHIZv3RQB8=' -H 'x-requested-with: XMLHttpRequest' -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36' -H 'content-type: application/x-www-form-urlencoded; charset=UTF-8' -H 'sec-fetch-site: same-origin' -H 'sec-fetch-mode: cors' -H 'referer: https://gitee.com/xxx/blog/pages' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: zh-CN,zh;q=0.9,en;q=0.8,es;q=0.7,zh-TW;q=0.6,ja;q=0.5,de;q=0.4,sk;q=0.3,ca;q=0.2,vi;q=0.1,nl;q=0.1,mt;q=0.1,hmn;q=0.1,lb;q=0.1,fr;q=0.1' -H 'cookie: 123' --data 'branch=master&build_directory=&force_https=false' --compressed > /dev/null 2>&1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
上述信息需要处理几个地方,项目实际调用的接口和项目gitee Pages的项目地址以及码云本地的cookie(F12查看),其他参数不需要做更改
# 3.x 测试
sh ./sh/gitee-auto-pages.sh
1
至此,需要99元/年的付费自动部署, 轻松收入囊中,美滋滋~~
以上便是本篇教程全部内容,如有疑问,欢迎留言交流
