iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
DevOps

和 gitlab 一起當個好朋友系列 第 13

Day-13-Express 公測與產品的環境切分

  • 分享至 

  • xImage
  •  

Env

在部署的時候都會有切分環境的需求

後端部分依照需求不同會切分不同的環境

  • Dev - 提供前端串接的 Service
  • Qa - 提供 QA 串接的 Service
  • Uat - 公測的 Service
  • Product - 正式上線的環境

為什麼需要切分這麼多環境?

之前在開發前端的時候

曾經遇過後端直接在 Dev 開發

不定時更新 而且是手動複製貼上

導致前端在開發的時候常常的 Bug 不知道是不是因為複製的時候蓋到 設定檔

不穩定的環境會造成前端開發的困擾

所以需要一個開發環境來讓前端在相對穩定的服務上開發

如果開發 測試 都在同一個環境的時候

上線功能會彼此干擾

造成許多不應該產生的 Bug

造成溝通 與 開發 的多重困擾

而如果簡單的自動部署都完成之後

只要依據不同的環境代入不同的設定檔案

就可以快速部署環境給不同的人

也減少因為部署產生的錯誤

Dotenv

dotenv

後端部署通常會利用這個套件來實現

.env

DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3

app.js

require('dotenv').config()
const {DB_HOST, DB_USER, DB_PASS} = process.env;
console.log(DB_HOST); //localhost
console.log(DB_USER); // root
console.log(DB_PASS); //slmp13

也可以用檔案名稱

將檔案放到某個資料夾

require('dotenv').config('../demo/.env.uat')
const {DB_HOST, DB_USER, DB_PASS} = process.env;
console.log(DB_HOST); //localhost
console.log(DB_USER); // root
console.log(DB_PASS); //slmp13

基本上與前端的切分環境差不多

但是 React Native 切分環境就複雜多了

未來會有幾個篇幅專門介紹


上一篇
Day12-Express 的部署
下一篇
Day14-Load Balance
系列文
和 gitlab 一起當個好朋友15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言