尝试Github Action构建与部署Shiroi
为什么尝试呢
因为确实方便啊 ( 而且在Github构建,也不用担心服务器炸内存,不用盯着服务器耗时许久的构建,也不用担心国内服务器npm源访问困难以及构建时字体文件拉取失败等情况。
开始尝试
其实很简单,innei佬已经写好了工作流,不过这是博主第一次接触Github Action,所以只是想写出来记录一番,后面忘了也好回顾下(
前排提示:
- 本篇只针对闭源版本Shiroi,Shiro提供了预构建的 Docker 镜像或者编译产物可直接使用
- 确保服务器已经安装了Node.js, npm, pnpm, pm2, sharp。
配置Shiroi环境变量
以root
用户为例(后续SSH也是root用户),
在用户家目录创建shiro目录,并配置.env,例如/root/shiro/.env
cd ~
mkdir shiro && cd shiro
vim .env
.env配置示例
NEXT_PUBLIC_API_URL=https://example.net/api/v2
NEXT_PUBLIC_GATEWAY_URL=https://example.net
TMDB_API_KEY=
# TMDB获取影片剧集卡片
GH_TOKEN=
# 获取正确的前端版本哈希
Github配置
首先Fork此项目,innei佬写好的工作流
生成一个可以访问Shiroi仓库的Githun token
进入你Fork的仓库,按照下图配置Secrets 填写相关信息
测试工作流运行情况
编辑build_hash,随便改个值,Github Action就会开始运行
可以在这里查看工作流运行情况,及时排错
Action定时执行
innei在工作流中很贴心的给出了定时任务配置,默认注释掉了,需要自己修改即可
进入Github Fork的项目中,修改.github/workflows/deploy.yml
文件
注意:
Github默认时区是UTC时间,相比北京时间慢8小时
cron: '0 3 * * *'
即UTC时间凌晨3点执行,也就是北京时间11点左右执行- schedule 延迟问题:GitHub 的官方文档明确写了,schedule 是无法保证准时执行的。所以预计执行时间是11点至11点20之间,不会差多远