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

更新 發佈閱讀 6 分鐘
raw-image

對於前端工程師來說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頁面

raw-image

你的專案沒有設定過github action所以頁面應該是長得跟我的圖差不多
隨意選一個set up this wordflow的按鈕點下去,別擔心預設的內容我們都不需要。

點擊按鈕後github會提供你一個預設的模板內容。

raw-image

將裡面預設的內容全部清除,將下面的內容貼上。

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的地方

raw-image

在這裡選擇gh-page分支後點選save即可手動開啟github page功能

在部署時使用環境變數

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

設定secrets

前往專案的setting -> secrets頁籤,直接點選New repository secret新增專案的環境變數。

raw-image
raw-image

新增的方式很簡單,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。

留言
avatar-img
鼻爾蓋茲筆一下
7會員
29內容數
沙龍新手
鼻爾蓋茲筆一下的其他內容
2023/10/12
在目前網路社群當道的時代,一個微型網站匯聚網路各處資訊的中心站變得重要Portaly傳送門提供所有人簡單架設微型網站的選擇,讓不懂程式、不懂美術、不懂伺服器的人皆可輕鬆上手。Portaly傳送門的微型網站適合各種創作者,尤其適用於社群入口型網站,讓粉絲或消費者透過社群入口進入品牌的各種內容,甚至透過
Thumbnail
2023/10/12
在目前網路社群當道的時代,一個微型網站匯聚網路各處資訊的中心站變得重要Portaly傳送門提供所有人簡單架設微型網站的選擇,讓不懂程式、不懂美術、不懂伺服器的人皆可輕鬆上手。Portaly傳送門的微型網站適合各種創作者,尤其適用於社群入口型網站,讓粉絲或消費者透過社群入口進入品牌的各種內容,甚至透過
Thumbnail
2023/10/05
常常會在網路上看到專業的品牌能夠使用自己的域名來收發Email,使用自己的域名收發Email不僅可以讓網站容易被記住,也能讓用戶收到你的Email能更加信任信件內容。 使用Gmail作為電子郵件伺服器也沒有問題,因為其免費使用而且功能齊全,其實光是免費這項優點就值得使用Gmail當作電子郵件伺服器。
Thumbnail
2023/10/05
常常會在網路上看到專業的品牌能夠使用自己的域名來收發Email,使用自己的域名收發Email不僅可以讓網站容易被記住,也能讓用戶收到你的Email能更加信任信件內容。 使用Gmail作為電子郵件伺服器也沒有問題,因為其免費使用而且功能齊全,其實光是免費這項優點就值得使用Gmail當作電子郵件伺服器。
Thumbnail
2023/01/06
Bitly是一個常見的短連結平台,提供所有使用者把原始網址轉換成較為簡短的連結字數,同時該平台也提供API給使用者串接使用 大概看過官方提供的api文件,算是功能齊全,只要本身帳號權限夠高,所有操作皆可在API中進行 自己也是有少量使用過bitly平台,那就嘗試動手串接一下API看看 取得通行證(A
Thumbnail
2023/01/06
Bitly是一個常見的短連結平台,提供所有使用者把原始網址轉換成較為簡短的連結字數,同時該平台也提供API給使用者串接使用 大概看過官方提供的api文件,算是功能齊全,只要本身帳號權限夠高,所有操作皆可在API中進行 自己也是有少量使用過bitly平台,那就嘗試動手串接一下API看看 取得通行證(A
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
有關 git add, git commit, git push
Thumbnail
有關 git add, git commit, git push
Thumbnail
還在苦惱怎麼樣把你的檔案上傳到Github嗎?這裡教大家簡單上傳你的檔案可以沿用到如何上傳整體專案到Github並展示你的作品集
Thumbnail
還在苦惱怎麼樣把你的檔案上傳到Github嗎?這裡教大家簡單上傳你的檔案可以沿用到如何上傳整體專案到Github並展示你的作品集
Thumbnail
不知道你是否有以下困擾呢? 「自己寫好的程式,若要呈現在網路上,該怎麼辦?」 「手上有個html的檔案,但是要如何分享給朋友們?」 「做一個網站要花主機的錢,如何有個免費託管主機的地方呢?」 以上問題,將由github pages來幫你解決喔!
Thumbnail
不知道你是否有以下困擾呢? 「自己寫好的程式,若要呈現在網路上,該怎麼辦?」 「手上有個html的檔案,但是要如何分享給朋友們?」 「做一個網站要花主機的錢,如何有個免費託管主機的地方呢?」 以上問題,將由github pages來幫你解決喔!
Thumbnail
Step1: 打開github登入 https://github.com/ 創立一個Repositories把網頁檔案丟上去 之後點我圈起來的地方 把你的網頁檔案放上去 要注意把檔案都正確上傳(通常會有29個檔案) 並點擊下面確認按鈕 Step2: 打開netlify登入 https://app.n
Thumbnail
Step1: 打開github登入 https://github.com/ 創立一個Repositories把網頁檔案丟上去 之後點我圈起來的地方 把你的網頁檔案放上去 要注意把檔案都正確上傳(通常會有29個檔案) 並點擊下面確認按鈕 Step2: 打開netlify登入 https://app.n
Thumbnail
對於前端工程師來說github上的gh-page是一個很適合放置自己作品的地方 尤其適合想要練練手感的時候可以方便地展示成果的地方 在過去使用手動commit至gh-page的分支上,或是使用deploy.sh檔來部署,對於我這種懶人來說都是多一個步驟,時常會覺得麻煩 現在能夠透過github ac
Thumbnail
對於前端工程師來說github上的gh-page是一個很適合放置自己作品的地方 尤其適合想要練練手感的時候可以方便地展示成果的地方 在過去使用手動commit至gh-page的分支上,或是使用deploy.sh檔來部署,對於我這種懶人來說都是多一個步驟,時常會覺得麻煩 現在能夠透過github ac
Thumbnail
程式碼建置後的結果一樣在build下面,我們只需要{專案資料夾}/build/js/packages/{專案名}/kotlin/裡的四個檔案。 我另外開了一個gh_pages的Git分支,命名由來是GitHub的pages,除了initial的commit以外,只新增剛剛的四個檔案。
Thumbnail
程式碼建置後的結果一樣在build下面,我們只需要{專案資料夾}/build/js/packages/{專案名}/kotlin/裡的四個檔案。 我另外開了一個gh_pages的Git分支,命名由來是GitHub的pages,除了initial的commit以外,只新增剛剛的四個檔案。
Thumbnail
本文目標是用 gh-pages 來部署靜態網頁達成需求 最近有人剛好有兩個版本的問卷,需要在使用者進入時隨機給予其中一份。他也找了程式碼,只差部署到一個地方來做隨機派發的需求。 簡單看一下發現其實用 Github Pages 就能達成(單純的前端而已),可是程式碼內容比較不符個人習慣,所以就改了一下
Thumbnail
本文目標是用 gh-pages 來部署靜態網頁達成需求 最近有人剛好有兩個版本的問卷,需要在使用者進入時隨機給予其中一份。他也找了程式碼,只差部署到一個地方來做隨機派發的需求。 簡單看一下發現其實用 Github Pages 就能達成(單純的前端而已),可是程式碼內容比較不符個人習慣,所以就改了一下
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News