2016-04-29 11 views
6

Uso la finestra mobile per eseguire tutti i miei servizi micro. Per ogni servizio gli do un breve nome host.Imposta il profilo su bootstrap.yml nel cloud di primavera per indirizzare il server di configurazione diverso

version: '2' 

services: 
    config: 
    image: springbox-config-server 
    restart: always 
    ports: 
    - "8890:8890" 

    discovery: 
    image: springbox-eureka 
    restart: always 
    ports: 
    - "8763:8763" 

Pertanto, nella mia micro servizio che ho di indirizzare il ConfigServer con il suo nome host breve.

spring: 
    application: 
    name: myservice 
    cloud: 
    config: 
     uri: http://config:8890 
     fail-fast: true 

Tuttavia, quando li ho eseguito localmente nel mio IDE, senza finestra mobile, il nome host breve non può essere risolto.

Quindi sto cercando una soluzione per indirizzare server di configurazione diversi in base al mio ambiente.

risposta

12

Trovo la soluzione. Fondamentalmente, usiamo il profilo a molla per arricchire il file di bootstrap. Ad esempio

spring: 
    application: 
    name: myservice 
    cloud: 
    config: 
     uri: http://config:8890 
     fail-fast: true 

--- 
spring: 
    profiles: development 
    cloud: 
    config: 
     uri: http://localhost:8890 

La buona notizia è che non è necessario riscrivere tutte le proprietà in un profilo. Le proprietà predefinite sono ereditate. Ad esempio, quando il profilo di sviluppo è abilitato, il mio nome applicazione viene ereditato da quello predefinito chiamato sempre myservice.

Per attivare il profilo, avviare il servizio con la seguente proprietà

-Dspring.profiles.active=development 
Problemi correlati