Closed justkru closed 2 years ago
SERVER_SERVLET_CONTEXT_PATH - если прописать вот это в переменных окружения, нормально начинает работать UI, но две функции - редирект на reports и на swagger - все равно ее игнорируют.
Скорее всего дело в кастомных редиректах для сваггера и для метода, который репорты отдает. Они почему-то игнорируют SERVER_SERVLET_CONTEXT_PATH и пытаются примапится к / -> получается не namespace_name.apps.server.ru/allure-reports/, а namespace_name.apps.server.ru/* .
Если поможете с подсказкой, буду очень благодарен, могу даже пересобрать контейнер, если надо из сорцов, очень уж ваша сборка к месту пришлась - великолепно реализованы все фичи, не представляете насколько это попадание 10 из 10 :)
Нашел, как починить. Надо поменять 3 места: -> System.setProperty("server.servlet.context-path", "/allure-reports");//NOPMD в Application.java -> return System.getProperty("server.servlet.context-path")+result; в методе String handleTo ServeRedirectHelper.java -> var frame = new IFrame(System.getProperty("server.servlet.context-path")+"/swagger"); в SwaggerView.java
Это такой, quick & dirty фикс, можно потом, конечно, исправить с точки зрения стиля кода (я не джавист, а мультиязычник) :-)
Вынести этот Context Path в ENV докера + в хельм чарты добавить (это уже просто). Функционал протестил, вроде бы все работает корректно.
Привет! Я тестировал в Kubernetes на Яндекс Облаке - не столкнулся с этой проблемой.
Для AWS использовал настройку server.port: ${PORT:8080}
Еще есть настройка allure.server-base-url
- она участвует в формировании базового url для redirect
и view
Я поэкспериментирую и обновлю Helm Chrat
(если необходимо) и документацию
В Helm Chart любую переменную можно внести всегда внести в values.yaml
в секцию env
- она пробросится в deployment
Спасибо большое за исследование!
Приветствую. Кейс следующий. Разворачивал этот компонент в Openshift.
Если в Route прописываешь абсолютный путь вида - namespace_name.apps.server.ru - то приложение прекрасно работает, все открывается.
Если же путь относительный - вида namespace_name.apps.server.ru/allure-reports - то выдается ошибка 404 от Tomcat'а.
Может быть у вас будут идеи как все же завести приложение в таком виде?
Заранее огромное спасибо!