簡體   English   中英

如何通過Docker Compose中的env vars為Jhipster Registry設置Spring Cloud Server的Git URI?

[英]How to set the Git URI of Spring Cloud Server for Jhipster Registry via env vars in Docker Compose?

Jhipster Registry頁面上 ,提到我們可以通過以下參數為Spring Cloud Config設置Git存儲庫。

--spring.profiles.active=prod --spring.security.user.password=admin --jhipster.security.authentication.jwt.secret=secret-key --spring.cloud.config.server.composite=https://github.com/jhipster/jhipster-registry-sample-config --spring.cloud.config.server.composite[0].type=git --spring.cloud.config.server.composite[0].uri=https://github.com/jhipster/jhipster-registry-sample-config

但是我想通過docker-compose中的環境變量設置這些參數,我該如何實現呢? 特別是這個:帶有方括號的spring.cloud.config.server.composite [0] .uri。

更新資料

我嘗試了GaëlMarziou的答案中定義的拼寫,但是沒有用。 這是我使用的docker jhipster-registry.yml,它是通過jhipster docker-compose子生成器生成的,在其中添加了Spring Cloud Config

version: '2'
services:
    jhipster-registry:
        image: jhipster/jhipster-registry
        environment:
        - SPRING_PROFILES_ACTIVE=prod,git
        - SPRING_SECURITY_USER_PASSWORD=admin
        - JHIPSTER_REGISTRY_PASSWORD=admin
        - JHIPSTER_LOGGING_LOGSTASH_ENABLED=true
        - JHIPSTER_LOGGING_LOGSTASH_HOST=jhipster-logstash
        - JHIPSTER_METRICS_LOGS_ENABLED=true
        - JHIPSTER_METRICS_LOGS_REPORTFREQUENCY=60
        - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE=https://github.com/anthonyrichir/demo-feign-config
        - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_TYPE=git
        - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_URI=https://github.com/anthonyrichir/demo-feign-config
        ports:
        - 8761:8761

使用此配置,注冊表會顯示:

Failed to bind properties under 'spring.cloud.config.server.composite' to java.util.List<java.util.Map<java.lang.String, java.lang.Object>>:

    Reason: No converter found capable of converting from type [java.lang.String] to type [java.util.List<java.util.Map<java.lang.String, java.lang.Object>>]

我也嘗試了這種配置:

version: '2'
services:
    jhipster-registry:
        image: jhipster/jhipster-registry
        environment:
        - SPRING_PROFILES_ACTIVE=prod,git
        - SPRING_SECURITY_USER_PASSWORD=admin
        - JHIPSTER_REGISTRY_PASSWORD=admin
        - JHIPSTER_LOGGING_LOGSTASH_ENABLED=true
        - JHIPSTER_LOGGING_LOGSTASH_HOST=jhipster-logstash
        - JHIPSTER_METRICS_LOGS_ENABLED=true
        - JHIPSTER_METRICS_LOGS_REPORTFREQUENCY=60
        - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_TYPE=git
        - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_URI=https://github.com/anthonyrichir/demo-feign-config
        ports:
        - 8761:8761

我收到此錯誤:

Caused by: java.lang.IllegalStateException: You need to configure a uri for the git repository
    at org.springframework.util.Assert.state(Assert.java:73)
    at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.afterPropertiesSet(JGitEnvironmentRepository.java:245)
    at org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository.afterPropertiesSet(MultipleJGitEnvironmentRepository.java:69)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1767)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1704)
    ... 88 common frames omitted

spring.cloud.config.server.composite[0].uri屬性應該映射到SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_URI環境變量。

參見https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-relaxed-binding

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM