kangyana / daily-question

When your heart is set on something, you get closer to your goal with each passing day.
https://www.webpack.top
MIT License
3 stars 0 forks source link

【Q140】前端如何对分支环境进行部署 #140

Open kangyana opened 1 year ago

kangyana commented 1 year ago

一种基于容器及 docker-compose 或者 k8s 的思路

以下是一个 Preview 的示例,其中服务名 cra-preview-${COMMIT_REF_NAME} 基于分支名称进行构建。

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

在进行构建时,再通过 envsub 工具进行环境变量的替换

cat preview.docker-compose.yaml | envsubst > docker-compose.yaml