偶然看到一個介紹使用GitHubAction做的百度貼吧自動簽到,然后一路順藤摸瓜看到了阮一峰大神寫的GitHub Actions 入門教程中介紹,示例中介紹了把React項目發布到GitHub Pages,我就想能不能把vue的項目發布到GitHub Pages呢(主要是不會React)。
說干就干。
創建vue項目
這個不講了用vue-cli一個命令就可以了。現在我已經創建了一個ts模板的項目(js項目是一樣的),項目名稱叫vue-github-actions-demo,結構如下。你們初始化的項目可能有些文件沒有,如果是我后面添加發布流程文件我會講到,如果是vue原生文件的差異不影響發布流程。
創建配置文件
從cli3開始取消了自動創建配置文件,這里需要手動創建配置文件,創建配置文件主要是因為我的githubPage主頁,已經有一個網站了(https://dashenxian.github.io),所以我只能用項目地址訪問https://dashenxian.github.io/vue-github-actions-demo/,如果這里我不加這個二級目錄,vue對js文件的文件引用就有問題。如果你想用你的githubPage主頁訪問,這一步驟可以跳過,但是需要把項目名稱改成你的github用戶名稱。
在根目錄下創建vue.config.js文件,添加如下代碼:
//vue.config.js
module.exports = {
// 選項...
publicPath: process.env.NODE_ENV === 'production'
? '/vue-github-actions-demo/'
: '/'
}
創建workflow(工作流程)
在根目錄逐級創建.github\workflows目錄,在workflows下創建yml工作流程文件,文件名稱可以隨意,githubActions會執行全部的yml流程。
輸入以下代碼:
name: GitHub Actions Build and Deploy Demo
on:
push:
branches:
- master
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2.3.1 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
with:
persist-credentials: false
- name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
run: | #注意我這里是使用的yarn管理包,如果你使用的npm,請換成npm的命令:npm install和npm run build
yarn
yarn build
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@3.6.2
with:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} #secrets.ACCESS_TOKEN是項目配置的密鑰
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: dist # The folder the action should deploy.
CLEAN: true # Automatically remove deleted files from the deploy branch
推送項目到GitHub
把項目代碼推送到github,這里可以用vs打開項目文件夾,vs的團隊管理中可以直接推送到github,當然你也可以選擇其他方式,比如vscode或者命令。
配置項目密鑰
現在你的項目已經推送到github,在GitHub中定位到項目
- 找到Settings配置,按下圖步驟添加密鑰,如果你還沒有密鑰,按第二步生成密鑰后再添加。
- 沒有密鑰按下圖步驟生成密鑰
配置GitHubPage
仍然在項目的Settings配置頁面,找到GitHub Pages選項(在頁面靠近最底部),按下圖配置。
完成
現在你修改代碼並推送到項目倉庫,點擊項目的Actions應該就能看到自動生成正在運行了。
等到運行完成通過,在GitHubPage就能看到熟悉的vue啟動頁面。
參考資料