使用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
留言分享你的想法!
avatar-img
技術叢林
6會員
23內容數
沙龍新手
技術叢林的其他內容
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
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 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 就能達成(單純的前端而已),可是程式碼內容比較不符個人習慣,所以就改了一下
Thumbnail
操作筆記、安裝git、下載github專案
Thumbnail
操作筆記、安裝git、下載github專案
Thumbnail
不過因為網站和 repo 都是託管在 GitHub,就想說是不是可以直接在 GitHub 上讓他自動部署就好,我只要把文件上傳上去,接著 CI 就幫我弄好了。剛好之前 GitHub 就有推出 GitHub Actions,就是 GitHub 自己的 CI/CD 服務。剛好可以來試試看,
Thumbnail
不過因為網站和 repo 都是託管在 GitHub,就想說是不是可以直接在 GitHub 上讓他自動部署就好,我只要把文件上傳上去,接著 CI 就幫我弄好了。剛好之前 GitHub 就有推出 GitHub Actions,就是 GitHub 自己的 CI/CD 服務。剛好可以來試試看,
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News