使用github action來實現純前端網頁自動部署至gh-page

閱讀時間約 5 分鐘
使用github action來實現純前端網頁自動部署至gh-page封面圖
對於前端工程師來說github上的gh-page是一個很適合放置自己作品的地方
尤其適合想要練練手感的時候可以方便地展示成果的地方
在過去使用手動commit至gh-page的分支上,或是使用deploy.sh檔來部署,對於我這種懶人來說都是多一個步驟,時常會覺得麻煩
現在能夠透過github action的功能實現推上github時自動部署至專案gh-page的分支上,設定完成以後非常適合懶人使用,遵循此篇文章設定即可輕鬆完成設定
附上範例專案 搭配閱讀

設定自動部署

設定專案部署時的base url

使用此github action會預設部署至這個url底下
https://你的帳號.github.io/專案名稱/
所以在部署時需要設定專案的base url,以vite部署為例需要在vite.config.js中設定
base: process.env.NODE_ENV === 'production'
? '/該專案名稱/'
: '/',

設定專案.yaml檔

前往專案的Action頁面
你的專案沒有設定過github action所以頁面應該是長得跟我的圖差不多
隨意選一個set up this wordflow的按鈕點下去,別擔心預設的內容我們都不需要。
點擊按鈕後github會提供你一個預設的模板內容。
將裡面預設的內容全部清除,將下面的內容貼上。
name: Build and Deploy
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2.3.1
- name: Install and Build 🔧
run: |
npm install
npm run build
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@4.1.4
with:
branch: gh-pages
folder: dist
檔名看自己要不要修改一下,如果不需要修改的話直接點選右上角的commit按鈕commit上去。

開啟github page功能

由github action自動推上gh-page分之後github會預設開啟該專案的github page。
如果遇到沒有開啟的話可以從專案的setting頁面中選擇左邊的page頁籤進入設定github page的地方
在這裡選擇gh-page分支後點選save即可手動開啟github page功能

在部署時使用環境變數

如果要在專案中使用環境變數需要先設定專案的Actions secrets資料並且稍微修改一下.yaml檔的內容

設定secrets

前往專案的setting -> secrets頁籤,直接點選New repository secret新增專案的環境變數。
新增的方式很簡單,Name的欄位對應環境變數的key,value的欄位對應value,直接複製貼上即可。
到這裡就設定完部署時的環境變數,接著我們要設定.yaml的地方引用變數。

修改.yaml檔的內容

將.yaml檔的內容修改成以下內容
name: Build and Deploy
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2.3.1
- name: Install and Build 🔧
run: |
npm install
npm run build
env:
環境變數key : ${{ secrets.環境變數key }}
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@4.1.4
with:
branch: gh-pages
folder: dist
主要是在run底下設定env,設定方式是專案部署的環境變數key對應先前在secrets裡的環境變數key。

6會員
23內容數
沙龍新手
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
B 文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 文組女生可以透過以下方式善用 Figma 和 GitHub: #Figma Figma 是一款線上設計工具, 可用於製作網頁、應用程式、介面設計等。 文組女生可以使用 F
Thumbnail
c文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 文組女生可以善用 Figma 和 GitHub 來提升團隊協作和專案管理的效率。以下是一些建議: #Figma: 設計協作: Figma 是一個協作性極強的設
Thumbnail
對於經常需要透過文字表達思維的知識工作者來說,這篇文章能為你開啟一扇新的大門。 三段式寫作法的運用,將能有效解決你在語音辨識學習過程中,如何提升效率和深度的問題。同時,它將將為你帶來全新的學習體驗。 使用三段式寫作法40天來,我透過語音辨識,與自我語言的互動。在此過程中,我有三個重大關於成為高產思考
Thumbnail
深入了解使用 Cookie 實現客戶端數據存儲的技巧和最佳實踐。本文詳細解釋了 Cookie 的基本概念、限制、原生寫法,並推薦了一個實用的 JavaScript Cookie 套件,附帶實用 Demo 和原始碼。
Thumbnail
「啊,我想到…..」 你是不是常常有很多念頭,但沒有記錄下來,就不見了? 我從16年前,高中的時候,就從書上認識到「紀錄的重要性」。 紀錄不但幫我們整理思緒,累積經驗,更能成為寫作的素材! 下面三個工具,是我這16年來持續實驗,目前認為最棒最棒的三個靈感捕捉器
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
B 文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 文組女生可以透過以下方式善用 Figma 和 GitHub: #Figma Figma 是一款線上設計工具, 可用於製作網頁、應用程式、介面設計等。 文組女生可以使用 F
Thumbnail
c文組女生 如何善用 figma 和 GitHub 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 文組女生可以善用 Figma 和 GitHub 來提升團隊協作和專案管理的效率。以下是一些建議: #Figma: 設計協作: Figma 是一個協作性極強的設
Thumbnail
對於經常需要透過文字表達思維的知識工作者來說,這篇文章能為你開啟一扇新的大門。 三段式寫作法的運用,將能有效解決你在語音辨識學習過程中,如何提升效率和深度的問題。同時,它將將為你帶來全新的學習體驗。 使用三段式寫作法40天來,我透過語音辨識,與自我語言的互動。在此過程中,我有三個重大關於成為高產思考
Thumbnail
深入了解使用 Cookie 實現客戶端數據存儲的技巧和最佳實踐。本文詳細解釋了 Cookie 的基本概念、限制、原生寫法,並推薦了一個實用的 JavaScript Cookie 套件,附帶實用 Demo 和原始碼。
Thumbnail
「啊,我想到…..」 你是不是常常有很多念頭,但沒有記錄下來,就不見了? 我從16年前,高中的時候,就從書上認識到「紀錄的重要性」。 紀錄不但幫我們整理思緒,累積經驗,更能成為寫作的素材! 下面三個工具,是我這16年來持續實驗,目前認為最棒最棒的三個靈感捕捉器