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

У меня есть приложение с весенней загрузкой, в котором я запускаю сервер Wiremock на localhost, порт 80. Когда я запускаю приложение локально, я могу получить доступ к серверу Wiremock (на http://localhost:80). Однако, когда приложение с весенней загрузкой развертывается в службах приложений в лазурном режиме и запускается, порт 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();

    }

person cristina    schedule 23.04.2019    source источник


Ответы (1)


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

Следующий пример поможет вам запустить приложение Spring-boot в службе приложений Azure 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

Кроме того, раздел часто задаваемых вопросов о службе приложений Linux https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-faq

person Joaquín Vano    schedule 25.04.2019