Jedna z moich aplikacji Spring Boot sprawia problemy podczas fazy testowej Maven .Spring Boot używa pliku /tmp/spring.log podczas testowania
Zarówno podczas testowania, jak i "regularnego" środowiska wykonawczego aplikacji, aplikacja Spring Boot używa pliku konfiguracyjnego logowania bardzo podobnego do pliku src/main/resources/logback-spring.xml
. Ten plik konfiguracyjny (przechodnie) zawiera pliki konfiguracyjne odliczaniai file-appender.xml
. Te pliki konfiguracyjne ustawiają właściwość logback LOG_FILE=/tmp/spring.log
.
Domyślam się, że plik /tmp/server.log
jest własnością użytkownika i grupy ${MY_SPRING_BOOT_APPLICATION}
.
Jenkins działa jako użytkownik jenkins
. jenkins
nie ma uprawnień do zapisu dla /tmp/server.log
. Dlatego testy JUnit kończą się niepowodzeniem po wykonaniu przez Jenkinsa.
- Jaki jest najlepszy sposób, aby skonfigurować rejestrowanie tak, że działa dobrze podczas Jenkins build-z-testówi tak, że tworzy codziennie rejestrowanie toczenia przy wykorzystaniu Spring Boot's SysV init.d service functionality (co stawia kłody pod
/var/log/
)? - Czy plik
/tmp/spring.log
zostanie zmodyfikowany (a tym samym uszkodzony), jeśli jednocześnie uruchomione są co najmniej dwie aplikacje Spring Boot?
Upewnij się, że zastąpiłeś właściwość przed właściwością, jak pokazano tutaj. –