背景
在玩 Hexo 博客的时候,每次提交写文章,发文章都要在本地先写完,在编译在发布。步骤可谓是极其繁琐,要没个耐心怕早早就弃坑了。幸好 Github 有一个能实现自动化的功能—— Github Action 。于是乎就有了下文—>
 实现
 Github 实现
 基本准备
- 在 Github 上创建一个仓库,仓库命名随便(你找得到就行)。因为 Github 被微软收购的原因,个人用户现在也能建立私有仓库了,所以_–>。这个仓库是用来放你 Hexo 博客源码的
 
- 在本地用 ssh-keygen 命令生成一组公私秘钥。
 
- 进入源码仓库–>Settings–>Secrets里添加生成的私钥,名称为 ACTION_DEPLOY_KEY ;添加名称为 GIT_EMAIL 内容为你的 git 邮箱 ;添加 GIT_NAME 内容为你的 git 用户名。(跟下面代码要一致)
 
- 进入博客仓库–>Settings–>Deploy keys里添加生成的公钥,名称自己随便写,我用的是(ACTION_DEPLOY_KEY )
 
 正式开始
- 如图所示
![Github1.png]()
 
- 配置 Github Actions ,代码如下
 
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55
   | name: 自动部署 Hexo
  on:   push:     branches:       - master
  jobs:   build:     runs-on: ubuntu-latest     strategy:       matrix:         node-version: [12.x]
      steps:       - name: 开始运行         uses: actions/checkout@v1
        - name: 设置 Node.js ${{ matrix.node-version }}         uses: actions/setup-node@v1         with:           node-version: ${{ matrix.node-version }}
        - name: 设置环境         env:           ACTION_DEPLOY_KEY: ${{ secrets.ACTION_DEPLOY_KEY }}           TZ: Asia/Shanghai         run: |                      mkdir -p ~/.ssh/           echo "$ACTION_DEPLOY_KEY" | tr -d '\r' > ~/.ssh/id_rsa           chmod 600 ~/.ssh/id_rsa           ssh-keyscan github.com >> ~/.ssh/known_hosts                      git config --global user.name '${{secrets.GIT_NAME}}'           git config --global user.email '${{secrets.GIT_EMAIL}}'              - name: 安装 Hexo CI         run: |           export TZ='Asia/Shanghai'           npm install hexo-cli -g       - name: 缓存         uses: actions/cache@v1         id: cache-dependencies         with:           path: node_modules           key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}
        - name: 安装插件         if: steps.cache-dependencies.outputs.cache-hit != 'true'         run: |           npm install       - name: 部署博客         run: |           hexo clean && hexo g && hexo d
   | 
 
至此 Github 完成
 Coding 实现
有了前面 Github 的实现,Coding 就简单了。
 基本准备
- 按图所示,创建令牌 
![coding.jpg]()
 
- 创建完后会有一个私人密钥,只出现一次,记得保存。
 
- 令牌创建完后就可以通过 
https://令牌用户名:令牌密钥@你的仓库地址 来控制你的仓库了 
 正式开始
- 进入你的 Hexo 博客根配置文件中,将 Coding 的 deploy 换成 
https://令牌用户名:令牌密钥@你的仓库地址 
- 将你的 Hexo push到 GitHub 就实现双线部署了。
 
Ps:代码是从别处找到的,具体忘记在哪了。。。
写于 2020-03-16