通过Drone CI将Gitea托管的Hexo部署到Vercel
随着即将毕业,GitHub学生优惠也即将到期,很多特权不能再使用,这其中就包括GitHub Action和私有仓库GitHub Page。为了打破这种束缚,同时也希望能把自己的数据掌握在自己手里,于是使用Gitea搭建了自己的私有Git仓库。
随之而来的问题就是,私有部署无法使用GitHub Action和诸如Vercel、Netfily这些三方的部署平台,于是采用Drone + Gitea实现流水线的搭建,通过FTP将文件传输到服务器上。但是由于域名备案的原因,国内的CDN和服务器再一次无法使用。于是目光再次瞄准Vercel。
Vercel基于亚马逊的网络搭建了自己的泛播网络,对于不同的网络环境(包括国内)都十分友好。但是目前Vercel只支持关联几家主流的Git提供商,于是瞄准了Vercel提供的CLI工具。通过CLI工具来实现流水线部署的工作。
这里我已经打包好了Vercel需要用到的镜像,内置如下环境:
- nodejs 18.13.0
- Vercel CLI 28.13.2
此处默认您已经搭建好了Gitea、Drone环境,并已成功关联Drone与Gitea。成功上传了您的Hexo代码到Gitea中
在hexo根目录下增加.drone.yml
文件,代码如下:
1 | kind: pipeline |
获取vercel_org_id、vercel_project_id步骤不可省略!
如已有Vercel项目,请直接将vercel_org_id
、vercel_project_id
配置进Drone CI的Secret中。如果不存在项目,请本地安装Vercel CLI工具,新建文件夹,执行vercel login
进行登录,运行vercel link
按照提示新建一个项目,vercel_org_id
、vercel_project_id
将会保存在.vercel/project.json
文件中。
在https://vercel.com/account/tokens获取vercel_token
并保存。
启用Drone,并上传Git,部署即可自动进行。