
1.準備工作
- OS
- Apollo服務端:1.8+
- MySQL 5.6.5+
2.安裝
本項目隻安裝了pro環境。
1.建立資料庫
導入sql ,位址如下。
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
2.調整服務端
1.調整ApolloPortalDB.serverconfig表
- 使用的環境
- 組織描述
- 服務端位址(Config Service位址 預設端口為8080)
2.調整ApolloConfigDB.ServerConfig
3.下載下傳安裝包
擷取apollo-configservice、apollo-adminservice、apollo-portal安裝包 位址:
https://github.com/ctripcorp/apollo/releases4.更改資料庫配置
1.配置apollo-configservice
用程式員專用編輯器(如vim,notepad++,sublime等)打開config目錄下的application-github.properties檔案,修改完的效果如下:
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd
2.配置apollo-adminservice的資料庫連接配接資訊
用程式員專用編輯器(如vim,notepad++,sublime等)打開config目錄下的application-github.properties檔案,修改完的效果如下:
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd
3.配置apollo-portal的資料庫連接配接資訊
local.meta=http://localhost:8080
#dev.meta=http://fill-in-dev-meta-server:8080
#fat.meta=http://fill-in-fat-meta-server:8080
#uat.meta=http://fill-in-uat-meta-server:8080
#lpt.meta=${lpt_meta}
pro.meta=http://localhost:8080
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd
4.配置apollo-portal的meta service資訊
使用程式員專用編輯器(如vim,notepad++,sublime等)打開apollo-portal-x.x.x-github.zip中config目錄下的apollo-env.properties檔案。修改完的效果如下:
local.meta=http://localhost:8080
pro.meta=http://localhost:8080
5.運作
導入伺服器運作scripts/startup.sh
6.整合spring boot
1.修改pom檔案
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.3.0</version>
</dependency>
2.修改application配置
app:
id: 項目名稱
apollo:
meta: http://127.0.0.1:8080(admin server 端口預設8080)
bootstrap:
enabled: true
eagerLoad:
enabled: true
3.SpringBootApplication加入注解
@EnableApolloConfig
6.頁面配置
1.建立項目
紅圈處為上面配置的組織名。
2.處理項目的配置項
也可以直接輸入全部配置項。
更改配置之後需要點選釋出,否則不會更改。
7.驗證
對于項目來說,因為配置放入了applicationcontent中,是以需要重新開機才能生效,但是通過以下代碼不重新開機就能展現出生效。
@RestController
public class HelloController {
@Value("${server.port}")
String port;
@GetMapping("hi")
public String hi(String name) {
return "hi " + name + " ,i am from port:" + port;
}
}
參考:
https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97#2-apolloportalmetaservers—%E5%90%84%E7%8E%AF%E5%A2%83meta-service%E5%88%97%E8%A1%A8