【字節(jié)】前端如何對(duì)分支環(huán)境進(jìn)行部署
一種基于容器及 docker-compose 或者 k8s 的思路
-
借用現(xiàn)有的 CICD 服務(wù),如 github actions或者gitlab CI「獲取當(dāng)前分支信息」 -
借用 Docker 快速部署前端或者后端,「根據(jù)分支信息啟動(dòng)不同的服務(wù) (Service)」,「根據(jù) Docker 啟動(dòng)服務(wù)并配置響應(yīng)的標(biāo)簽 (Label)」 -
根據(jù)容器的標(biāo)簽與當(dāng)前 Git 分支對(duì)前端后端設(shè)置不同的域名
以下是一個(gè) Preview 的示例,其中服務(wù)名 cra-preview-${COMMIT_REF_NAME} 基于分支名稱(chēng)進(jìn)行構(gòu)建。
version: "3"
services:
cra-preview-${COMMIT_REF_NAME}:
build:
context: .
dockerfile: router.Dockerfile
labels:
# 配置域名: Preview
- "traefik.http.routers.cra-preview-${COMMIT_REF_NAME}.rule=Host(`${COMMIT_REF_NAME}.cra.shanyue.tech`)"
- traefik.http.routers.cra-preview-${COMMIT_REF_NAME}.tls=true
- traefik.http.routers.cra-preview-${COMMIT_REF_NAME}.tls.certresolver=le
在進(jìn)行構(gòu)建時(shí),再通過(guò) envsub 工具進(jìn)行環(huán)境變量的替換
cat preview.docker-compose.yaml | envsubst > docker-compose.yamlReference
評(píng)論
圖片
表情
