隨機分配問卷?讓 GitLab Pages 幫你吧!

更新於 發佈於 閱讀時間約 5 分鐘
本文原先刊載在筆者個人網站:https://hhming.moe/post/random-survey-gitlab-pages-ver/

開始之間,先說明一下:

本文截圖示範所使用的是舊版 Web IDE,新版的採用 VScode 基礎(目前仍為 beta)雖然會有些差異,但對有使用 VScode 的人來說應該不難上手。

如果無法適應的話,請參照官方部落格的文章調整回舊版搭配服用本文。


之前就有寫過 Github pages 的版本(參見上面框框中的訊息),雖然一直有想說要寫一個 GitLab pages 版的,可是一直遲遲沒動手。

直到半年後的現在才寫好,其實整個過程不到半小時就結束了XD想說既然換了工具,就另外寫一篇文再賺一篇文章。

GitLab Pages 簡介

> GitLab pages 官方文件:https://docs.gitlab.com/ee/user/project/pages/

Github 有 Github pages,GitLab 當然也要有一個 GitLab pages 才行啊!雖然兩者使用上和規範有不少相似的地方,但也有很不一樣的地方。

從官方規定上來說,Github 的話除非你是付費使用者,否則一定要 public repo 才可以建立 pages;但 GitLab 則否,你是 private repo 一樣可以建立 pages 喔!

從使用者角度來看,Github 只要檔案上傳 repo 並到設定指定好要做為網站的目錄就可以建立 pages;但 GitLab 則是要透過 GitLab CI 來建立 pages!

而相似的部分則是兩者都是以 {username}.{github|gitlab}.io/repo-name 的形式作為 pages 的網址,也都有免費的 SSL 憑證、開放自訂 domain 等功能。

Github 比較麻煩的是免費使用者只能使用 public repo,即便付費使用者,也不代表你的 private repo 做出來的 pages 就能公開(此部分有興趣的人可以去看一下官方文件);而 GitLab 麻煩的則是你要會寫 GitLab CI 的設定檔(不過官方有很多 GitLab pages 的範例 repo,稍微看一下照著設定,就算完全不會應該也不會太難入門)。

沒有絕對的好壞,一切都看自己使用條件。總之今天的主角是 GitLab pages,讓我們繼續看下去~

教學

開始之前一定要先拿出重要主角:

https://gitlab.com/hms5232/bird-screen-url

大家可以先登入 fork,可以的話給個星星會更好!

raw-image

跟大家安麗一下,GitLab 很早就有 Web IDE 的功能,個人使用過覺得相較於 Github 一次只能變更一個檔案(單就網頁可以看到的功能,web vscode 先不看)而且每個檔案編輯完都要 commit 一次來說,GitLab Web IDE 真的很棒。如果只是要簡單改動一些東西,網站上就可以操作了不用 pull 下來編輯、commit 再 push。

GitLab Web IDE 按鈕

GitLab Web IDE 按鈕

fork 完成後,看你要 clone 下來改,還是使用個人剛剛推薦的 GitLab Web IDE,總之就是開始來編輯吧!以下會使用 GitLab Web IDE 示範。

進入 GitLab Web IDE 後,預設是沒開啟檔案的,有點像是新開的 VScode 一樣。請依照圖片中的數字順序點 public 展開該資料夾,再點選 url.js 就可以打開這個檔案準備作為編輯使用。

GitLab Web IDE 編輯畫面

GitLab Web IDE 編輯畫面

然後看到⓷,依照說明替換網址成你想做隨機分配的 URL 吧。

如果有修改 public 資料夾名稱的話,請記得一併修改 .gitlab-ci.yml 否則部署 GitLab pages 會失敗!




等改得差不多了,就是來把變更更新上去。

GitLab Web IDE 最左邊功能列表第二個是差異比較,可以看你目前改了什麼,就是 diff 的功能。

而第三個功能就是提交(commit)了,其實在這個地方也會顯示要提交的內容有什麼更動:

GitLab Web IDE 提交介面

GitLab Web IDE 提交介面

如果有興趣的人可以在 commit message 的地方說明一下這個提交更動了什麼;如果是對 git 不熟悉的人不想打也沒關係,只要記得按下 Commit 按鈕前一定要修改成選擇紅色框框的「Commit to main branch」。

注意!範例 repo 的 .gitlab-ci.yml 設定為只有 default branch 才會觸發 GitLab pages 更新。如果不想限制在 default branch 的話,請記得修改 CI 設定。

完成後畫面上就會出現火箭圖案,代表提交成功

GitLab Web IDE 提交完成火箭

GitLab Web IDE 提交完成火箭

之後回到 repo 的家,會發現剛剛做的 commit 旁邊有一個三分之二的藍色圓圈,那代表 GitLab CI 正在執行的意思。以本專案來說,就是部署你的 pages。

GitLab CI 執行中

GitLab CI 執行中

等到執行完成後,原本的藍色圓圈會變成綠色勾勾,表示成功完成 CI:

GitLab CI pipeline passed

GitLab CI pipeline passed

如果出現的是紅色叉叉代表 GitLab CI 失敗,需要查看是哪邊出錯了。由於此情況可能性很多,故請另外找資料排除或留言詢問。




終於要到最後一步啦,現在請到 repo 設定的 Pages 項目,裡面會有 GitLab pages 網址(預設是 https://{username}.gitlab.io/bird-screen-url),打開就可以看到效果囉~

GitLab project 設定中的 Pages 設定與資訊

GitLab project 設定中的 Pages 設定與資訊

avatar-img
4會員
19內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
hms5232的沙龍 的其他內容
最近在幫家裡弄網站,規畫都好了,也買了 domain。結果過幾天被女友慫恿(他還自己身先士卒的也買了一個自己喜歡的 domain)下,也買了一個自己的網域名稱,開啟個人網站之路!
轉眼間又到了 10 月,說起 10 月除了國慶連假,當然還有不可錯過的開源界活動 Hacktoberfest! 什麼是 Hacktoberfest? Hacktoberfest 是由 Hack、 October、 Festival 組合而成的單字,為 DigitalOcean 每年舉辦的全球性活動,
本文目標是用 gh-pages 來部署靜態網頁達成需求 最近有人剛好有兩個版本的問卷,需要在使用者進入時隨機給予其中一份。他也找了程式碼,只差部署到一個地方來做隨機派發的需求。 簡單看一下發現其實用 Github Pages 就能達成(單純的前端而已),可是程式碼內容比較不符個人習慣,所以就改了一下
本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章
使用本文方式需要以下條件: Telegram(通訊軟體) Raspberry Pi + Linux based 的作業系統(例如: Raspberry Pi OS ) 前言(廢話) 這個其實已經是老問題了,Paspberry Pi 各種教學文除了教你安裝 OS 外,還會教你怎樣設定連上網路,之後拿到
大家有這個需求的時候,Google 出來多數都是要去一些地方加一堆東西。但我自己實際測試發現並不用這麼麻煩。因為終究是 Linux,所以回歸到本質上,使用 Linux 的方法設定就好。 本文測試環境: 硬體:Raspberry pi 4 B 8GB OS:Raspberry Pi OS
最近在幫家裡弄網站,規畫都好了,也買了 domain。結果過幾天被女友慫恿(他還自己身先士卒的也買了一個自己喜歡的 domain)下,也買了一個自己的網域名稱,開啟個人網站之路!
轉眼間又到了 10 月,說起 10 月除了國慶連假,當然還有不可錯過的開源界活動 Hacktoberfest! 什麼是 Hacktoberfest? Hacktoberfest 是由 Hack、 October、 Festival 組合而成的單字,為 DigitalOcean 每年舉辦的全球性活動,
本文目標是用 gh-pages 來部署靜態網頁達成需求 最近有人剛好有兩個版本的問卷,需要在使用者進入時隨機給予其中一份。他也找了程式碼,只差部署到一個地方來做隨機派發的需求。 簡單看一下發現其實用 Github Pages 就能達成(單純的前端而已),可是程式碼內容比較不符個人習慣,所以就改了一下
本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章
使用本文方式需要以下條件: Telegram(通訊軟體) Raspberry Pi + Linux based 的作業系統(例如: Raspberry Pi OS ) 前言(廢話) 這個其實已經是老問題了,Paspberry Pi 各種教學文除了教你安裝 OS 外,還會教你怎樣設定連上網路,之後拿到
大家有這個需求的時候,Google 出來多數都是要去一些地方加一堆東西。但我自己實際測試發現並不用這麼麻煩。因為終究是 Linux,所以回歸到本質上,使用 Linux 的方法設定就好。 本文測試環境: 硬體:Raspberry pi 4 B 8GB OS:Raspberry Pi OS
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
※ 關於Git (二) 請寫下從 Github 上複製一個專案下來,做一次遞交,然後推上去會用到的所有 git 指令。 複製專案(Clone) markdown-here: git clone https://github.com/adam-p/markdown-here.git 如果在訊息
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
※ 關於Git (二) 請寫下從 Github 上複製一個專案下來,做一次遞交,然後推上去會用到的所有 git 指令。 複製專案(Clone) markdown-here: git clone https://github.com/adam-p/markdown-here.git 如果在訊息
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo