iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
Modern Web

Laravel 12 開發者幸福度升級指南系列 第 16

Day 16:藉由線上測試環境減少問題,進入維修畫面

  • 分享至 

  • xImage
  •  

網站實際上線了之後,就要開始討論線上實際會遇到的問題了。

雖然我們都不希望專案出現線上問題,但是實際上因為使用者的狀態,以及線上環境與開發環境的不同,線上問題是不可避免的。

所以我們除了要減少線上環境出現問題,還要有一個機制,在實際出現線上問題的時候,能夠減少對用戶的影響,並快速的解決問題。

下面我們來聊聊怎麼達成這些事情

減少線上問題

線上測試環境

首先,我們要盡可能地減少線上問題。

前面的開發裡面,我們做了開發本地的檢查,以及部署到線上的流程。

在實際的專案開發裡面,特別是一個專案有多個人同時進行開發的時候,通常會再多兩個系統

  • 線上測試機:在線上提供所有工程師進行測試,上面會有多個測試中的功能同時運作。由於上面的功能尚未驗收過,所以出錯的機會很高。
  • staging 機:上線前的最後測試,由於上面功能均在測試機驗收過,所以 staging 機的版本不會有未測試驗收過的功能。

要做到這件事,Laravel Cloud 提供了部署多個環境的功能,可以在我們推到特定 git branch 的時候,部署該分支的內容。

我們來看看怎麼利用 git 和 Laravel Cloud 來達成這件事情。

首先,我們先建立 developrelease 兩個分支,並推上 GitHub Repo

git checkout -b develop
git push --set-upstream origin develop

git checkout -b release
git push --set-upstream origin release

推到雲端上面後,我們就可以在 Laravel Cloud 裡面部署了!

我們在「Environment」標籤頁裡面,選擇「Add Environment」

點選之後,選擇我們要的 developrelease 分支

Add Environment

之後就會看到建立環境的畫面,我們可以根據不同環境選擇對應的資料庫

Environment Setting

藉由開發時遵守一定的版控規範,針對不同的階段將程式碼推送到不同的分支,加上不同階段的環境佈置,我們可以盡量減少問題出現在正式環境上的機會。

維護頁面

如果經過測試之後,還是遇到線上問題,有時候必須線上緊急維修。

我們在維修中時,可以透過維護中頁面,讓使用者知道網站目前處於有問題的狀態

在 laravel 12 裡面,我們可以很簡單的透過指令,讓專案進入維護頁面

我們只需要輸入指令 down

php artisan down

專案就會進入維護模式,當有人進入網頁時,會看到 503 頁面

503 頁面

如果我們希望讓部分的人可以進去看狀況,我們可以加上 --with-secret

php artisan down --with-secret

這樣一來,Laravel 會幫你生成一串 token,如果網址帶有這段 token 就允許進入

   INFO  Application is now in maintenance mode.  

   INFO  You may bypass maintenance mode via [https://..../mhgnHDt5hTmS7try].  

今天的部分就先到這邊,我們明天見!


上一篇
Day 15:利用 Command 在雲端環境進行操作
下一篇
Day 17:pest 生成測試覆蓋率,設置最低覆蓋率
系列文
Laravel 12 開發者幸福度升級指南19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言