本文閱讀重點 <
1 VuePress教程之部署到Github Action
1.1 主題的選取:vdoing主題
1.2 安裝vdoing主題
1.3 本地部署
1.4 使用Github Action部署
1.5 分享我的 ci.yml配置文件
最近geekzl打算嘗試一下VuePress,據說如果用來做文檔體驗會很不錯,外觀和Gitbook有點相似,好處是代碼層面具有較大的自由度,也可以順便加強vue的學習。
在網上找了一圈vuepress主題,其中vdoing主題讓人眼前一亮,就它了。
比如,我打算把代碼放在D:CodingGitHub
下,而我為這點代碼創建了代碼倉庫https://github.com/dbdgs/dbdgs.github.io。于是我打開了git bash, 執行如下的命令:
cd 'D:CodingGitHub'
接下來,按vdoing主題的ReadMe進行如下操作:
# clone the projectgit clone https://github.com/xugaoyi/vuepress-theme-vdoing.git# enter the project directorycd vuepress-theme-vdoing# install dependencynpm install # or yarn install# developnpm run dev # or yarn dev
本地部署,是基于Shell腳本的。
由于我的github賬號下已經有一個 yanglr.github.io
的倉庫了,于是我打算創建一個Organization (dbdgs),
此外,由于是最近才創建的倉庫,我的主分支是 main 分支,而不是master,github官方最近有調整。
將build from對應的分支改為gh-pages
我們以vdoing主題的代碼倉庫中的deploy.sh
為基礎,根據自己的情況進行一定修改,我這邊的代碼如下:
deploy.sh
#!/usr/bin/env sh# 確保腳本拋出遇到的錯誤set -e# 生成靜態文件npm run build# 進入生成的文件夾cd docs/.vuepress/dist# Set CNAME for "gh-pages" branchecho 'dbdgs.cn' > CNAME # 改成你要綁定的域名msg='deploy'githubUrl=git@github.com:dbdgs/dbdgs.github.io # 按你的代碼倉庫信息進行修改git initgit add -Agit commit -m "${msg}"git push -f $githubUrl master:gh-pages # 推送到githubcd - # 退回開始所在目錄rm -rf docs/.vuepress/dist
注: 這段代碼中的 git push -f $githubUrl master:gh-pages # 推送到github
, 其中的master我試著改成main,發現無效,就改回master了,本地執行這個bash腳本是可以的,只是github action運行時無效。另外,main
分支下不要加CNAME
文件。
當改完代碼后,在git bash中執行 ./deploy.sh
即可~
****************************************
(40位,含字母和數字)。ACCESS_TOKEN
的secret值需要注意的是:這一步中給Access Token設置的值需要和第二步得到的token值一致,否則會出現下面的問題:
本地 deploy.bash 腳本可以正常 push 代碼,但運行 github action 時會出現以下錯誤:
remote: Invalid username or password.fatal: Authentication failed for 'https://github.com/dbdgs/dbdgs.github.io/'npm ERR! code ELIFECYCLEnpm ERR! errno 128npm ERR! theme-vdoing-blog@1.0.0 deploy: `bash deploy.sh`npm ERR! Exit status 128npm ERR! npm ERR! Failed at the theme-vdoing-blog@1.0.0 deploy script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:npm ERR! /home/runner/.npm/_logs/2020-11-24T15_38_27_493Z-debug.logError: Process completed with exit code 128.
解決方法已經說過了,就是給第3步中Access Token設置的值需要和第二步得到的token值一致。
ci.yml
配置文件除了上一部分中的解決辦法以外,還有其他更簡單的辦法,就是基于現成的Github Action來使用。
比如,我的vuepress項目給Github Action用的yaml文件如下:
https://github.com/dbdgs/dbdgs.github.io/blob/main/.github/workflows/ci.yml
name: CI# 在main分支發生push事件時觸發,已由master改為main。on: push: branches: - mainjobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 # If you're using actions/checkout@v2 - must set persist-credentials to false in most cases for the deployment to work correctly. with: persist-credentials: false - name: Install and Build run: | yarn install yarn run build - name: Deploy uses: JamesIves/github-pages-deploy-action@releases/v3 with: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} BRANCH: gh-pages # The branch the action should deploy to. FOLDER: docs/.vuepress/dist # The folder the action should deploy. BUILD_SCRIPT: npm install && npm run build && cd docs/.vuepress/dist && echo 'dbdgs.cn' > CNAME && cd -
只需:
ACCESS_TOKEN
的secret值根目錄 -> .github -> workflows
即可~這次就醬紫咯,希望玩vuepress的小伙伴一切順利哈~
5 / 5 ( 4 votes )
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
如何快速用ps做一張海報?1、簡單要打開一張圖片,這張圖片是去做海報背景,當然是原創古風的最好是了。ps平面廣告分為哪些?1、雜志廣告設計雜志廣告設計具備對象的選擇性、印刷品質佳、表現形式多樣性三大特色。設計內容除了:封面,封里,內頁。就像尺寸為8K、16K、32K。相對于雜志廣告,是平面廣告之中都很好制作的。2、報紙廣告設計報紙廣告設計具備時間與內容的連續性、廣告費用的經濟性兩大特色。像是適合我...
天下食安是干什么的?《天下食安》是一個以食品安全為主題的大型農業科普欄目,包括訪談和紀錄片。國家衛生工作委員會食品安全教育中心作為其宣傳《食品安全法》、普及食品安全知識的主要職能部門,以“食品安全事關、民族未來,需要社會共治、人人參與”為宗旨,聯合食品企業、國家相關職能部門和農業專家,共同肩負起宣傳普及的重任。...
移動Sim大卡換小卡?機主本人攜帶身份證,到任意一家移動營業廳,說可以辦理換卡業務。營業廳會根據您的需求更換大小合適的手機卡。以前手機卡是大卡,后來換成了minisim卡,就是老人機用的那種。隨著技術要求和變化,現在是micro sim卡,大部分手機都可以插。我的卡是外地的,可以去當地移動營業廳換小卡或者剪卡嗎?你可以 不要換一張小卡片。如果你的卡是大卡,你只能去手機店換,讓它給你剪成小卡。想換小...