最近在部署一些node服务,不想麻烦公司同事搞服务器来部署了,于是想自己部署。
之前有了解到GitHub actions
和vercel
,但是只是使用过GitHub actions
来部署博客。这次部署node服务遇到了一些问题,特此记录下。
尝试使用GitHub actions
部署node
- 发现每次部署会变ip,尝试谷歌如何固定ip,得到结果是需要自己搭建服务器
- 执行
npm run start
一直在进行中的状态,无法结束这个状态。然后创建仓库进行测试,发现如果有setInterval会一直处于上述状态。自己使用express写个测试接口,也会处于上述状态
最终决定更换node定时发送消息的方案,决定使用GitHub actions
的定时服务。
还是发现了问题
GitHub actions
的时间是GMT
,北京时间比GMT
时间快8个小时GitHub actions
也不是立即执行的,会延迟执行,目前发现慢了14分钟。我这里只是测试一次发现是这个时间,不一定准确。
使用vercel
部署express
经过一般测试,发现几个关键点
- 根目录必须有
index.js
,相当于是vercel
的入口文件 - 根目录必须要有
vercel.json
用作测试的git仓库地址:https://github.com/Harry-qi/test-github-actions{ "version": 2, "builds": [ { "src": "./index.js", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "/" } ] }
总结
如果是定时任务可以使用github actions自带的schedule执行,不要使用node-schedule
一次性的函数执行也可以使用github actions部署
vercel
适合部署接口服务,也可以当作部署博客之类的
- 本文链接:https://harry-qi.github.io/2022/02/10/Github-actions-%E5%92%8Cvercel/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。