Apollo新增自定義的環境
阿新 • • 發佈:2018-11-03
如果需要新增的環境不是Apollo預先定義的環境,請參照如下步驟操作:
假設需要新增的環境名稱叫sit
修改com.ctrip.framework.apollo.core.enums.Env類,在其中加入SIT列舉:
public enum Env{
LOCAL, DEV, SIT, FWS, FAT, UAT, LPT, PRO, TOOLS, UNKNOWN;
...
}
修改com.ctrip.framework.apollo.core.enums.EnvUtils類,在其中加入SIT列舉的轉換邏輯:
public final class EnvUtils { public static Env transformEnv(String envName) { if (StringUtils.isBlank(envName)) { return Env.UNKNOWN; } switch (envName.trim().toUpperCase()) { ... case "SIT": return Env.SIT; ... default: return Env.UNKNOWN; } } }
修改apollo-env.properties,增加sit.meta佔位符:
local.meta=http://127.0.0.1:18080
dev.meta=http://127.0.0.1:18080
sit.meta=http://127.0.0.1:18081
uat.meta=http://127.0.0.1:18082
修改com.ctrip.framework.apollo.core.internals.LegacyMetaServerProvider類,增加讀取SIT環境的meta server地址邏輯:
public class MetaDomainConsts {
... domains.put(Env.SIT, env.getProperty("sit_meta", prop.getProperty("sit.meta"))); ...
}
到此結束,然後就可以編輯程式碼,生成可執行jar包,放到伺服器上執行,具體配置請參考:使用apollo管理多個環境的服務配置