(用的三星TabS9FE+,开了DEX模式很给力)
最近,由于电脑不在身边,更新博客很是麻烦,需要用ssh连接到位于我卧室的电脑,并且用远程桌面或者vim之类的进行编辑,然后hugo deploy。所以,我决定想出一个更好的解决办法。
Android平板用来编辑markdown绰绰有余,所以我一开始是想用vscode,然而,codeserver和termux上的vscode并不好用。就在这时,我在Google Play发现了一个好用的代码编辑器,名为Spck 代码器
。这个编辑器写markdown足够,并且还支持git操作,实属方便。于是,问题便在于如何运行hugo --minify && hugo deploy
。
运行这个指令需要有完整的linux环境,并安装了最新版本的hugo和google-cloud-cli,这在termux或code-server上都不可能实现(更新 可以实现)。于是,我把目光转向了 Github Actions。现在发现,这玩意真是神器😍。
创建 Github Actions #
进入本项目代码仓库网页,选择Actions
,新建workflow
name: hugo auto deploy
# 什么时候触发 action
on:
push:
branches: [ main ]
# 任务的准备,用 ubuntu最新的环境
jobs:
setup-deploy:
name: Setup and Deploy
runs-on: ubuntu-latest
permissions:
contents: 'read'
id-token: 'write'
steps:
# 检出main分支的代码 checkout
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: "google-cloud-login"
uses: 'google-github-actions/auth@v2'
with:
credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}'
- name: "setup cloud sdk"
uses: 'google-github-actions/setup-gcloud@v2'
# 准备hugo环境
# hugo ready & build
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
# hugo 编译部署
- run: hugo --minify
- run: hugo deploy
之后,随便修改点内容,并进行git push
,在网页端仓库的Actions
页面下查看日志。
配置Google Cloud #
如果您刚刚直接触发了Actions,那么不出意外日志里会报错。现在,让我们逐步修复错误。
生成Google Cloud服务密钥 #
打开Google Cloud控制台,进入IAM和管理
,选择服务帐号,并创建新服务帐号
输入服务帐号名称,可以填github-actions
,服务帐号ID会自动生成,点击创建并继续
。创建完毕后,选择刚刚创建的帐号,并选择管理密钥
选择添加密钥
,创建新密钥,并选择JSON格式。之后,会得到一个JSON文件,请务必保存好。
授予访问权限 #
在权限
页面,点击授予访问权限
,新的主帐号
填写为刚刚创建的帐号,为其赋予Storage Object Admin
权限。
配置Github Actions Secrets #
返回Github,在本仓库的Settings
页面,选择Secrets and variables
,选择Actions
子项,点击New repository secrets
,Name
项填GOOGLE_CREDENTIALS
,Secret
项填在Google Cloud获得的JSON的内容,将JSON文件内的内容全部复制进去即可。
再次尝试Actions #
重新运行Actions,通过。