2021-02-25

  • 第一

之后就可以直接在私人倉(cāng)庫(kù)source/_posts/里面添加.md文件啦,可以隨時(shí)隨地寫文章發(fā)文章

參考借鑒來(lái)源:

GitHub Actions 來(lái)自動(dòng)部署 Hexo:https://zhuanlan.zhihu.com/p/170563000

github將整個(gè)文件夾推送到自己的倉(cāng)庫(kù):https://blog.csdn.net/viafcccy/article/details/85527118

一、配置github actions部分

HEXO正常運(yùn)作

前提

  • node.js 環(huán)境 和 git 都已正確安裝 (其實(shí)能正常運(yùn)行 hexo 就已經(jīng)說(shuō)明正確安裝了)

  • hexo 可以正常運(yùn)行 可以正常部署(這里介紹部署到 github pages )

  • 配置好hexo的主題,博客名稱等等

    ok,有了以上前提,可以繼續(xù)了

改 _config.yml 配置

_config.yml 文件中在前提情況下,已經(jīng)配置好了:


deploy:

  type: git

  repo: https://github.com/用戶名/倉(cāng)庫(kù)名.git

  branch: master

此時(shí)我們需要將上面 repo 的配置改成 ssh 格式——即 git@github.com:用戶名/倉(cāng)庫(kù)名.git

避免在執(zhí)行 actions 時(shí) 部署出錯(cuò)

再次生成密鑰

隨便在任何文件位置可以直接右鍵 git bash here

復(fù)制粘貼這個(gè) ssh-keygen -t rsa -b 4096 -C "Hexo Deploy Key" -f github-deploy-key -N ""

會(huì)在當(dāng)前目錄生成兩個(gè)文件

  • github-deploy-key —— 私鑰

  • github-deploy-key.pub —— 公鑰

私鑰直接存放在 hexo 原始文件(hexo源文件)的倉(cāng)庫(kù)代碼里

  • 自行新建一個(gè)私人倉(cāng)庫(kù)來(lái)存放hexo源文件

  • 然后訪問(wèn)私人代碼倉(cāng)庫(kù) Settings -> Secrets,New secret

  • Name 填寫 EXO_DEPLOY_KEY 注意大小寫,這個(gè)后面的 GitHub Actions Workflow 要用到,一定不能寫錯(cuò)。

  • 在 Value 填入 github-deploy-key(私鑰) 中的內(nèi)容

公鑰放到 GitHub Pages 對(duì)應(yīng)的代碼倉(cāng)庫(kù)里面

  • 訪問(wèn) github pages 對(duì)應(yīng)的代碼倉(cāng)庫(kù) Settings -> Deploy keys,Add deploy key

  • Title:HEXO_DEPLOY_PUB 可自定義名字

  • 在 Key 填入 github-deploy-key.pub(公鑰)中的內(nèi)容

  • Allow write access 一定要勾上

創(chuàng)建 workflow

在私人代碼倉(cāng)庫(kù)里點(diǎn) Actions

然后創(chuàng)建一個(gè)新文件 .github/workflows/deploy.yml

deploy 名字可以自取但是一定要放在.github/workflows目錄中

  • deploy.yml 內(nèi)容如下:

name: Hexo Deploy

on:

  push:

    branches:

      - master

jobs:

  build:

    runs-on: ubuntu-18.04

    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_KEY }}

        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 "改成你的郵箱"

          git config --global user.name "改成你的用戶名"

          npm install hexo-cli -g

          npm install

      - name: Deploy

        run: |

          hexo clean

          hexo deploy

ok,這樣就完美搞定 github action 和 GitHub pages 的連接啦,并且可以自動(dòng)觸發(fā) Workflow 執(zhí)行動(dòng)作

二、推送部署 hexo 博客源文件到私人倉(cāng)庫(kù)

俺是一個(gè)純小白,只能傻瓜式的推送部署到倉(cāng)庫(kù)了

  • 在任意位置 git bash here 然后 輸入 git clone https://github.com/用戶名/倉(cāng)庫(kù)名.git 將私人倉(cāng)庫(kù)給克隆下來(lái)

  • 將所有的hexo文件都復(fù)制到剛剛克隆下來(lái)的文件夾里面

  • 然后 git init 將該克隆下的文件夾變成Git可以管理的倉(cāng)庫(kù)

  • git add . 通過(guò)git add將所有文件提交到暫存區(qū)

  • git commit -m 'the initial edition' 版本描述

  • git remote add origin https://github.com/用戶名/倉(cāng)庫(kù)名.git與倉(cāng)庫(kù)關(guān)聯(lián)

  • git pull 第一次推送需要

  • git push -u origin master 帶有-u這個(gè)參數(shù)是指,將master分支的所有內(nèi)容都提交,第一次關(guān)聯(lián)之后后邊你再提交就可以不用這個(gè)參數(shù)了

  • git push origin master 之后你的每一次修改,你就可以只將你修改用這個(gè)push就好了

    此時(shí),所有的hexo文件全都git到倉(cāng)庫(kù)了,之后就可以直接在私人倉(cāng)庫(kù)source/_posts/里面添加.md文件啦,可以隨時(shí)隨地寫文章發(fā)文章,不受設(shè)備和配置環(huán)境干擾啦。

俺是一個(gè)純小白,都是一步一步按照別人的步驟踩坑摸索來(lái)的,不容易嗚嗚嗚。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容