如何使用自定义测试环境
一、Shiply环境介绍
Shiply 提供两类环境,以满足不同的开发和测试需求:
- 正式环境
- 正式环境是一级环境,线上使用;
- 逻辑环境
- 逻辑环境是二级环境,一般用于开发和测试;
- 不同的逻辑环境之间相互隔离;
- Shiply 为每个项目默认创建了一个名为「测试环境」、id为 1 的逻辑环境;
- 业务同学可以在环境管理页面创建自己的逻辑环境,在建好的逻辑环境中创建和发布配置;
逻辑环境可以理解成正式环境的前置环境:
- 客户端 SDK 切换到逻辑环境后,SDK 可以拉取到逻辑环境不存在但是正式环境存在的配置;
- 客户端 SDK 切换到逻辑环境后,如果逻辑环境和正式环境存在同名配置,SDK 将会拉取到逻辑环境的配置;
逻辑环境和正式环境的关系
逻辑环境可以理解成正式环境的前置环境:
- 客户端 SDK 切换到逻辑环境后,SDK 可以拉取到逻辑环境不存在但是正式环境存在的配置;
- 客户端 SDK 切换到逻辑环境后,如果逻辑环境和正式环境存在同名配置,SDK 将会拉取到逻辑环境的配置;
示例
假设正式环境有两个配置:
- 「key1」,对应的值为「key1value正式环境」;
- 「key2」,对应的值为「key2value正式环境」;
用户A自定义逻辑环境中也创建了一个配置:
- 「key1」,对应的值为「key1value逻辑环境」;
当客户端 SDK 切换到这个逻辑环境后,SDK 将会拉取到以下配置:
- 「key1」,配置值为「key1value逻辑环境」;
- 「key2」,配置值为「key2value正式环境」;
二、环境列表
在项目设置-环境管理页面可以查看当前项目的逻辑环境列表,默认为空(系统自动创建的逻辑环境不会在环境列表展示);
用户可以点击加入或者退出某个环境:
- 加入某个环境后,用户在配置与开关发布的发布任务页面可以选择切换到对应环境;
- 退出某个环境后,用户在配置与开关发布的发布任务页面将无法看到对应环境;
三、新建环境
在环境管理页面点击「创建环境」按钮,填写环境名称、环境成员后点击「确定」按钮:
测试使用的环境在创建后可以直接删除;线上使用的环境,必须环境内不存在配置时,才可以删除;
四、使用环境
4.1 前端页面切换到逻辑环境后创建配置
4.1.1 在发布任务页面点击右上角环境列表,切换到对应的逻辑环境
4.1.2 切换到逻辑环境后,点击「新建配置」按钮创建配置
4.2 客户端SDK切换到逻辑环境后拉取配置
Android SDK API:
RDeliverySetting#Builder#setLogicEnvironment("101036") // 初始化时指定逻辑环境
rDelivery#switchEnvironment("101036") // 初始化后手动切换环境,null 表示正式环境iOS SDK API:
// 正式环境Id
NSString * const RDeliveryReleaseEnvId = @"";
// 默认测试环境Id
NSString * const RDeliveryTestEnvId = @"1";
// 你创建的自定义测试环境 ID 101036
NSString * const RDeliveryCustomTestEnvId = @"101036";
RDeliverySDKSettings *setting = [RDeliverySDKSettings settingWithAppId:@"" appKey:@"" guid:@"" depends:depends];
setting.envId = @"101036"; // 初始化时指定逻辑环境 ID
self.rdeliverySDK = [RDeliverySDK createSDKWithSettings:setting];
[self.rdeliverySDK switchEnvironment:@"101036"]; // 初始化后手动切换环境