一、准备工作

1.1 本地运行时环境

  • JDK :1.8+
  • MySQL :5.6.5+
  • Maven :3.6.1
  • IDE :IntelliJ IDEA

Apollo的表结构对timestamp使用了多个default声明,所以需要5.6.5以上版本。

从官方仓库 https://github.com/ctripcorp/apollo Fork 出属于自己的仓库 https://github.com/wupeixuan/apollo

使用 IntelliJ IDEA 从 Fork 出来的仓库拉取代码。拉取完成后,Maven 会下载所需依赖包。

1.2 创建数据库

Apollo 服务端共有两个数据库:

  • ApolloPortalDB
  • ApolloConfigDB

ApolloPortalDB 只需要在生产环境部署一个即可,而 ApolloConfigDB 需要在每个环境部署一套,如 fat、uat 和 pro 分别部署3套 ApolloConfigDB。

可以根据实际情况选择通过手动导入SQL或是通过Flyway自动导入SQL创建。

在 Apollo 项目下的 scripts 目录,提供了对应的初始化脚本:

1.2.1 创建 ApolloPortalDB

根据实际情况修改 flyway-portaldb.properties 中的 flyway.user、flyway.password 和 flyway.url 配置。

在 apollo 项目根目录下执行mvn -N -Pportaldb flyway:migrate

导入成功后,表结构如下:

1.2.2 创建 ApolloConfigDB

根据实际情况修改 flyway-configdb.properties 中的 flyway.user、flyway.password 和 flyway.url 配置。

在 apollo 项目根目录下执行mvn -N -Pconfigdb flyway:migrate

导入成功后,表结构如下:

二、本地启动

2.1 启动 Apollo Config Service 和 Apollo Admin Service

同时启动 apollo-adminserviceapollo-configservice 项目,基于 apollo-assembly 项目来启动。

  1. 配置 IDEA Application

Main class:com.ctrip.framework.apollo.assembly.ApolloApplication

VM options:
-Dapollo_profile=github
-Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?ch