微信云托管 是由微信团队联合腾讯云推出的一站式后端云服务。对于应用开发采用前后端分离架构的场景,云托管可做到免运维免域名、免服务器管理、防 DDoS 攻击和境外加速等,从代码管理到 CI/CD 流水线部署发布,提供全链路、低成本、企业级的云原生解决方案。
PC 端访问 https://cloud.weixin.qq.com 即可立即开始使用微信云托管。
前言
在项目开发时,通常具有多种环境,用来在开发的各个流程阶段进行作用,比如预发、生产。
环境的不同,对应的数据库等配置信息就有所不同,就必须要针对配置信息的变更,对应创建单独的代码仓库,流水线对应一个代码仓库,这样维护成本太大。
在这里主要是配置信息的变化,本篇主要介绍如何在项目代码中动态感知所处的微信云托管环境,进而给予正确的配置信息。
一、环境变量
微信云托管在运行项目服务过程中,带入了一个环境变量,名称为 CBR_ENV_ID ,意义是当前运行服务所处的 微信云托管环境ID
所以在项目内部,可以通过获取 CBR_ENV_ID 变量,来感知当前项目在哪个环境运行。
二、划分环境
微信云托管的环境可以建立多个,单个环境下可以有多个服务,和单独的数据库以及对象存储,在客观条件上做了隔离。
所以可以用 微信云托管环境 为维度进行隔离,创建项目开发的各个环境(预发、生产)
最终我们可以得到一个清单,样式如下:
werun