隨機分配問卷?讓 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 設定與資訊

4會員
15Content count
留言0
查看全部
發表第一個留言支持創作者!
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
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
我們常低估極端情況出現的機率,試圖為偶然事件尋找規律。然而,接受隨機性的存在,對商業決策、人才管理和產品策略至關重要。在工作中,我們需要警惕短期表現的誤導,避免過度解讀,並以更全面、長期的視角評估情況。學會與隨機性共處,既探索規律又接受偶然,才能做出更明智的決策。
在動物溝通的課堂上,曾經有聽到學姊分享,當經驗累積到某種程度,經過中興新村會聽到樹木在開里民大會的交談聲音,從此與植物交談這件事就一直讓我很期待,哪一天可以知道植物的心聲,想想就覺得很有趣。
上次的新竹動物園之行,還有跟河馬樂樂打招呼🙋。 天氣太熱讓樂樂只露出了眼睛跟鼻孔以上的頭部,看起來很睏倦的泡在池子裡。
隨著天氣轉炎熱,蚊蟲越來越多,喇牙跟壁虎也因為食物大豐收(?)跟著活躍起來,然後我就發現了自家洗手槽住了一隻小壁虎。
Thumbnail
本教學文章目標為使用 GitLab Pages 來協助達成隨機分配問卷或網址入口等需求
Thumbnail
 隨機取數,隨機取出的資訊
Thumbnail
每一起個案都是各自獨立的事件,兇手都有不同的出身背景,遭遇的社會環境變化,最後的引爆點觸發等等,可是整體此類事件的發生頻率趨勢,似乎又能透露出確實有某種更大的影響因素,是跨越個案兇手本身的差異,乃至不同的國家社會文化等等。
今天這篇文章我會和你一起製作隨機數字並且我會放上幾個使用範例 (正確和錯誤的寫法都會附上!) 建立 & 定義隨機數字 首先,先讓我們建立隨機數字吧! 默認的數字為 測試玩家幸運值
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
我們常低估極端情況出現的機率,試圖為偶然事件尋找規律。然而,接受隨機性的存在,對商業決策、人才管理和產品策略至關重要。在工作中,我們需要警惕短期表現的誤導,避免過度解讀,並以更全面、長期的視角評估情況。學會與隨機性共處,既探索規律又接受偶然,才能做出更明智的決策。
在動物溝通的課堂上,曾經有聽到學姊分享,當經驗累積到某種程度,經過中興新村會聽到樹木在開里民大會的交談聲音,從此與植物交談這件事就一直讓我很期待,哪一天可以知道植物的心聲,想想就覺得很有趣。
上次的新竹動物園之行,還有跟河馬樂樂打招呼🙋。 天氣太熱讓樂樂只露出了眼睛跟鼻孔以上的頭部,看起來很睏倦的泡在池子裡。
隨著天氣轉炎熱,蚊蟲越來越多,喇牙跟壁虎也因為食物大豐收(?)跟著活躍起來,然後我就發現了自家洗手槽住了一隻小壁虎。
Thumbnail
本教學文章目標為使用 GitLab Pages 來協助達成隨機分配問卷或網址入口等需求
Thumbnail
 隨機取數,隨機取出的資訊
Thumbnail
每一起個案都是各自獨立的事件,兇手都有不同的出身背景,遭遇的社會環境變化,最後的引爆點觸發等等,可是整體此類事件的發生頻率趨勢,似乎又能透露出確實有某種更大的影響因素,是跨越個案兇手本身的差異,乃至不同的國家社會文化等等。
今天這篇文章我會和你一起製作隨機數字並且我會放上幾個使用範例 (正確和錯誤的寫法都會附上!) 建立 & 定義隨機數字 首先,先讓我們建立隨機數字吧! 默認的數字為 測試玩家幸運值