Not accepting mysql db parameters when passed in cnnt string in flyway runner plugin in Jenkins
Rit
Posts: 1 New member
HI,
When i'm connecting to db using following connection string in flyway desktop, it connects to db.
flyway.url=jdbc:mysql://your_mysql_host:3306/your_database?useSSL=true&requireSSL=true&trustCertificateKeyStoreUrl=file:/C:/lib/security/cacerts&trustCertificateKeyStorePassword=changeit
But when i'm using the same connection string in flyway runner plugin in Jenkins, i get the following errors.
'requireSSL' is not recognized as an internal or external command,
operable program or batch file.
'trustCertificateKeyStoreUrl' is not recognized as an internal or external command,
operable program or batch file.
'trustCertificateKeyStorePassword' is not recognized as an internal or external command,
operable program or batch file.
ERROR: Build step 'Invoke Flyway' failed due to errors.
'requireSSL' is not recognized as an internal or external command,
operable program or batch file.
'trustCertificateKeyStoreUrl' is not recognized as an internal or external command,
operable program or batch file.
'trustCertificateKeyStorePassword' is not recognized as an internal or external command,
operable program or batch file.
ERROR: Build step 'Invoke Flyway' failed due to errors.
Answers
Thanks for the question! Those are certainly the correct parameters, what I anticipate is happening is the variable isn't encapsulated so the Jenkins runner is interpreting the '&' as a concatenation instruction and handling the parameters independently.
From a quick browse of stackoverflow, it looks like double quotes are the convention, but full disclosure, Jenkin's isn't my area of expertise.