1、本地安裝hexo
安裝的前提是安裝了
nodejs
,然後才能使用
nodejs
的
npm
進行安裝
npm install hexo-cli -g
2、建立個人部落格
hexo init blog
3、指令行切換至部落格目錄并進行初始化
cd blog
npm install
4、在本地進行檢視
hexo server
注:本教程不涉及更換主題
5、在GitHub建立倉庫并将代碼上傳到倉庫之中
git init
git add .
git commit -m "自己的備注"
git remote add origin https://
http://7881188.cn/自己的倉庫url位址
git push -u origin master
6、建立githubaction
name: deploy blog to aliyun
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
# 切換分支
- name: Checkout
uses: actions/checkout@master
# 下載下傳 git submodule
- uses: srt32/[email protected]
with:
args: git submodule update --init --recursive
# 使用 node:10
- name: use Node.js 10
uses: actions/setup-node@v1
node-version: 10
# npm install
- name: npm install
run: |
npm install -g hexo-cli
npm install
env:
CI: true
# build
- name: hexo build
hexo clean
hexo generate
# Deploy
- name: Deploy
uses: easingthemes/[email protected]
SSH_PRIVATE_KEY: ${{ secrets.ACCESS_TOKEN }}
ARGS: "-avz --delete"
SOURCE: "public/"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: ${{ secrets.TARGET }}
先别送出,然後設定上述代碼中的
secrets.ACCESS_TOKEN
、
secrets.REMOTE_HOST
secrets.REMOTE_USER
secrets.TARGET
浏覽器新增一個視窗,打開現在的這個項目的網頁,然後點項目後面的
Settings
,然後點選
Secrets
中的
Add a new secret
按鈕。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SMjdDMwITZ2UDN4IDZzUWOllTM0ITZjZmZjhzMyIDZx8CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
首先添加的是
ACCESS_TOKEN
(名字與第二步的
workflow
中名字相同就可以了),這個值并不是你伺服器的密碼。那麼這個值是什麼呢?首先去你伺服器的
~/.ssh
目錄,此時目錄下應該有4個檔案,分别是
authorized_keys
id_rsa
id_rsa.pub
known_hosts
。如果沒有
id_rsa
和
id_rsa.pub
的,可以使用
ssh-keygen
來生成,這兩個檔案就是安裝Git時需要生成的私鑰和公鑰。這個時候你看看
authorized_keys
裡面有沒有内容,如果有内容說明你之前設定過,
ACCESS_TOKEN
的值就是
authorized_keys
所對應的私鑰。如果沒有内容的話,你可以直接設定為公鑰
id_rsa.pub
的内容,如執行指令
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
,此時就會把
id_rsa.pub
的内容寫入
authorized_keys
中,然後把
ACCESS_TOKEN
的值設定為私鑰
id_rsa
中的内容,你可以運作指令
cat ~/.ssh/id_rsa
然後把内容複制一份到
ACCESS_TOKEN
中,如下:
設定
ACCESS_TOKEN
值的目的是為了遠端不使用密碼來連接配接伺服器,當
ACCESS_TOKEN
的值設定好了,接下來就容易了。依次設定
REMOTE_HOST
REMOTE_USER
TARGET
的值,比如
47.111.177.111
root
/home/blog
等,具體的根據自己的ECS來設定。
送出
workflow
檔案。 浏覽器的标簽切換到剛才的那個頁面,然後送出
workflow
。當送出後可以看到代碼的根目錄下多了一個
.github/workflows/deploy.yml
檔案(檔案名叫什麼無所謂),然後點選Actions标簽看有一個
workflow
在運作,等待一會,如果顯示如下,說明就好了: