Как развернуть службу wiremock из приложения с весенней загрузкой в ​​службы приложений Azure? - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть приложение с пружинной загрузкой, в котором я запускаю сервер Wiremock на локальном хосте, порт 80. Когда я запускаю приложение локально, я могу получить доступ к серверу Wiremock (на http://localhost:80). Однако, когда Spring- загрузочное приложение развертывается в службах приложений в Azure и запускается, порт 80 уже используется, поэтому макет не может запуститься.

Идея состоит в том, чтобы развернуть приложение и запустить макет, поэтому, когда я получаю доступ к URL-адресу сервиса приложения, я могу получить доступ к макету.

Я попытался изменить порт, и из логов видно, что макет запускается на других портах. Однако при доступе к URL-адресу службы приложения он не перенаправляется на макет. Spring-boot не является веб-приложением, поэтому он не должен использовать порт по умолчанию 80 и оставлять его незанятым. Я новичок в службах приложений Azure и Spring-Boot, поэтому любые советы будут оценены

public static void main(String[] args) {
        SpringApplication.run(MocksApplication.class, args);      
    }

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
        return new PropertySourcesPlaceholderConfigurer();
    }   

    private void startMock() {

        File file = new File(classLoader.getResource("mock").getFile());
        String path = file.getAbsolutePath();
        mock= new WireMockServer((wireMockConfig().usingFilesUnderDirectory(path).port(80)));
        mock.start();
        logger.info("Starting mock on port " + mock.port() + " and bind addresss: " + mock.baseUrl());

    }
    @Override
    public void run(String... args) throws Exception {
        startMock();

    }

1 Ответ

0 голосов
/ 25 апреля 2019

Начать можно с посещения страницы разработчиков Azure для Java: https://docs.microsoft.com/en-us/java/azure

Следующий пример поможет вам запустить приложение Spring-boot в Azure App Service Linux: https://docs.microsoft.com/en-us/java/azure/spring-framework/deploy-spring-boot-java-app-with-maven-plugin

Вероятно, в вашем примере вам просто нужно было определить настройку приложения JAVA_OPTS со следующим значением, чтобы заставить ваше приложение запускаться через порт 80:

-Dserver.port = 80

Служба приложений Linux будет пытаться автоматически определить порт, используемый вашим приложением, но если вы запускаете нестандартный порт, вы также можете указать параметр приложения с именем WEBSITES_PORT и присвоить ему значение ожидаемого номера порта.

Кроме того, ознакомьтесь с документацией по руководству по настройке приложений Java в службе приложений. https://docs.microsoft.com/en-us/azure/app-service/containers/configure-language-java

Также, FAQ по сервису приложений Linux https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-faq

...