搭建個(gè)人博客

搭建流程

  • dev 分支使用Vuepress寫博客
  • pushgithub
  • github actions自動(dòng)生成靜態(tài)頁面部署到master分支
  • github actions自動(dòng)部署到阿里云OSS
  • 完成喜每,查看xiaomucool.github.ioxiaomucool.com

使用Vuepress

Vuepress是Vue 驅(qū)動(dòng)的靜態(tài)網(wǎng)站生成器枪眉,支持markdown語法痪宰、Emoji圖標(biāo)椅邓。

我們先來安裝它:

npm i vuepress -S

Vuepress默認(rèn)主題適合寫接口文檔弱匪,我們還要安裝適合博客的主題vuepress-theme-meteorlxy

npm i vuepress-theme-meteorlxy -S

環(huán)境安裝好了青瀑,我們開始寫文章吧!文章存放目錄為:docs/_posts/**/*.md萧诫,它會(huì)默認(rèn)讀取這個(gè)文件夾下的md文件斥难。

主題vuepress-theme-meteorlxy需要配置一些參數(shù),詳情請(qǐng)見主題指南

配置好主題后帘饶,在package.json文件下增加:

"scripts": {
  "dev": "vuepress dev docs",
  "build": "vuepress build docs"
},

運(yùn)行:

// 本地實(shí)時(shí)查看博客效果
npm run dev

// 構(gòu)建HTML頁面
npm run build

訪問http://localhost:8080/就能看到屬于你的博客頁面了哑诊。

部署到Github Pages

首先要開啟GitHub Pages,開啟方法是:倉庫Setting -> GitHub Pages及刻,Source選擇master branch镀裤,訪問[用戶名].github.io/[倉庫名]就能看到效果了竞阐。

如果想要在[用戶名].github.io根目錄下訪問,必須設(shè)置倉庫名為:[用戶名].github.io

GitHub Pages會(huì)自動(dòng)尋找index.htmlREADME.MD作為網(wǎng)站入口暑劝。

使用Github Actions

Actions是自動(dòng)化運(yùn)維骆莹,持續(xù)集成服務(wù),不了解的可以看我這篇文章:《Github Actions 教程》担猛。

需求:

我們把代碼提交到dev分支幕垦,希望Actions可以自動(dòng)npm run build并且把生成的HTML文件提交到master分支

實(shí)現(xiàn):

首先在dev分支下創(chuàng)建.github/workflows/github_pages.yml

name: Github Pages
# 觸發(fā)事件:push到dev
on:
  push:
    branches:
      - dev
jobs:
  deploy:
    name: 部署到master分支
    runs-on: ubuntu-latest
    steps:
    - name: 更新代碼
      uses: actions/checkout@master

    - name: 安裝Node
      uses: actions/setup-node@v1
    
    - name: 構(gòu)建HTML
      run: |
        npm i
        npm run build
    
    - name: 發(fā)布
      uses: peaceiris/actions-gh-pages@v2.8.0
      env:
        PERSONAL_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
        PUBLISH_BRANCH: master
        PUBLISH_DIR: docs/.vuepress/dist

我們主要使用到了peaceiris/actions-gh-pages這個(gè)action,其中:

  • PUBLISH_DIR是Vuepress生成HTML文件的目錄
  • PUBLISH_BRANCH是你要提交的分支
  • PERSONAL_TOKEN在你項(xiàng)目的Settings -> Secrets里設(shè)置傅联,Secret Value在:個(gè)人Settings -> Developer settings -> Personal access tokens里設(shè)置先改。

至此,我們訪問[用戶名].pages.io就能看到我們自己的博客了纺且!非常完美盏道!離成功只差最后一步了!

使用阿里云OSS

默認(rèn)已有域名和SSL證書载碌。

創(chuàng)建OSS:

進(jìn)入阿里云對(duì)象存儲(chǔ)OSS控制臺(tái)猜嘱,點(diǎn)擊創(chuàng)建 Bucket,區(qū)域選擇中國(香港)(國內(nèi)節(jié)點(diǎn)綁定自定義域名需要備案)嫁艇,讀寫權(quán)限選擇公共讀朗伶。

基礎(chǔ)設(shè)置 -> 靜態(tài)頁面設(shè)置首頁和404頁面,在域名管理 -> 綁定用戶域名步咪,綁定自定義域名论皆。

創(chuàng)建accesskeys:

阿里云控制臺(tái)點(diǎn)擊頭像,選擇accesskeys猾漫,點(diǎn)擊創(chuàng)建AccessKey按鈕点晴,然后在Github項(xiàng)目里的Settings -> Secrets設(shè)置AccessKeyIDAccessKeySecret

編寫Github Actions:

創(chuàng)建.github/workflows/oss.yml

name: Ali OSS
# 觸發(fā)事件:push到oss
on:
  push:
    branches:
      - oss
jobs:
  deploy:
    name: 部署到阿里云對(duì)象存儲(chǔ)
    runs-on: ubuntu-latest
    steps:
    - name: 更新代碼
      uses: actions/checkout@master

    - name: 安裝Node
      uses: actions/setup-node@v1
      with:
        node-version: "12.x"

    - name: 構(gòu)建HTML
      run: |
        npm i
        npm run build
    
    - name: 連接OSS
      uses: manyuanrong/setup-ossutil@v2.0
      with:
        # 地域節(jié)點(diǎn)悯周,在控制臺(tái)查看
        endpoint: oss-cn-hongkong.aliyuncs.com
        # 剛剛創(chuàng)建的id和secret
        access-key-id: ${{ secrets.OSS_ACCESS_KEY_ID }}
        access-key-secret: ${{ secrets.OSS_ACCESS_KEY_SECRET }}
    
    - name: 發(fā)布到OSS
      run: ossutil cp -rf docs/.vuepress/dist/ oss://xiaomucool-blog/

然后訪問你的域名粒督,就能看到你的博客了!我知道你的心情是喜悅的禽翼,但是一定要堅(jiān)持寫文章屠橄!加油,共勉闰挡!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锐墙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子长酗,更是在濱河造成了極大的恐慌溪北,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異刻盐,居然都是意外死亡掏膏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門敦锌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馒疹,“玉大人,你說我怎么就攤上這事乙墙∮北洌” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵听想,是天一觀的道長腥刹。 經(jīng)常有香客問我,道長汉买,這世上最難降的妖魔是什么衔峰? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蛙粘,結(jié)果婚禮上垫卤,老公的妹妹穿的比我還像新娘。我一直安慰自己出牧,他們只是感情好穴肘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舔痕,像睡著了一般评抚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上伯复,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天慨代,我揣著相機(jī)與錄音,去河邊找鬼啸如。 笑死鱼响,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的组底。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼筐骇,長吁一口氣:“原來是場噩夢啊……” “哼债鸡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起铛纬,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤厌均,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后告唆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棺弊,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晶密,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了模她。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稻艰。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侈净,靈堂內(nèi)的尸體忽然破棺而出尊勿,到底是詐尸還是另有隱情,我是刑警寧澤畜侦,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布元扔,位于F島的核電站,受9級(jí)特大地震影響旋膳,放射性物質(zhì)發(fā)生泄漏澎语。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一验懊、第九天 我趴在偏房一處隱蔽的房頂上張望擅羞。 院中可真熱鬧,春花似錦鲁森、人聲如沸祟滴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垄懂。三九已至,卻和暖如春痛垛,著一層夾襖步出監(jiān)牢的瞬間草慧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工匙头, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漫谷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓蹂析,卻偏偏與公主長得像舔示,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子电抚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容