1. 程式人生 > >Apollo新增自定義的環境

Apollo新增自定義的環境

如果需要新增的環境不是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管理多個環境的服務配置