用于github actions自动部署hexo

非本人原创,网上找来改改就用上了👌

原代码会queued,将ubuntu版本改为latest解决了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: Hexo Deploy

on:
push:
branches:
- master

jobs:
build:
runs-on: ubuntu-latest
if: github.event.repository.owner.id == github.event.sender.id

steps:
- name: Checkout source
uses: actions/checkout@v2
with:
ref: master

- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '12'

- name: Setup Hexo
env:
ACTION_DEPLOY_KEY: ${{ secrets.HEXO_DEPLOY_PRI }}
run: |
mkdir -p ~/.ssh/
echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsa
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts
git config --global user.email "2035650646@qq.com"
git config --global user.name "blankwy"
git ls-files --directory source | while read path; do touch -d "$(git log -1 --format='@%ct' $path)" "$path"; done
npm install hexo-cli -g
npm install
- name: Deploy
run: |
hexo clean
hexo deploy

HEXO_DEPLOY_PRI为ssh私钥,自行生成并添加到secrets
再到deploy key里添加’HEXO_DEPLOY_PUB’,值为ssh公钥