Spring Testcontainers Mysql + Docker Verbindungsproblem

OnDemand

Top Contributor
Hallo,

folgendes Problem, ich habe einen Testcontainer mit welchem ich Junit Tests ausführe. Lokal klappt das wunderbar, Server fährt hoch, Test läuft und Container wird wieder gestoppt.

Sobald ich das aber mittels Jenkins baue, kommt die Fehlermeldung, dass keine Verbindung zum lokalen Docker Mysql hergestellt werden kann :
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

Auf dem Server ist Java11, der Jenkins User ist in der docker Gruppe. Hat jemand ne Idee was das sein könnte? meine Application.properties sieht wie folgt aus. Hab da an die Url auch schon useSSL=true und false probiert, geht beides nicht

Java:
server.port=${PORT:8080}
# Ensure application is run in Vaadin 14/npm mode
vaadin.compatibilityMode = false
logging.level.org.atmosphere = warn
logging.file.max-history=10
logging.file.max-size=200MB

#create tabel for flyway if not exist
spring.flyway.baseline-on-migrate=true

#database
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&rewriteBatchedStatements=true&serverTimezone=Europe/Berlin
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.hikari.maximum-pool-size=10
spring.jpa.show-sql=true
logging.level.org.hibernate.SQL=DEBUG
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
 
genau, Spring läuft nicht im Docker, nur die DB. Lokal hab ich es ganz genau so, da klappt es aber. Verstehe nicht was das sein soll
 
Hiermit klappt es 🙂

Java:
  static class Initializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
        @Override
        public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
            TestPropertySourceUtils.addInlinedPropertiesToEnvironment(
                    configurableApplicationContext,
                    "spring.datasource.url=" + database.getJdbcUrl() + "?verifyServerCertificate=false&useSSL=false&requireSSL=false",    //SSL IGNORE               
                "spring.datasource.username=" + database.getUsername(),
                    "spring.datasource.password=" + database.getPassword()
            );
        }
    }
 

Zurück
Oben