2016-10-13 4 views
2

배포 된 응용 프로그램에서 사용할 파이프 라인 스크립트 내에 데이터베이스를 만들려고합니다. 하지만 먼저 연결 테스트를 시작했습니다. 이 문제가 있습니다 :Jenkins 파이프 라인에 JDBC 드라이버를 추가하는 방법은 무엇입니까?

java.sql.SQLException: No suitable driver found for jdbc:mysql://mysql:3306/test_db 

데이터베이스 플러그인과 MySQL 데이터베이스 플러그인이 설치되어 있습니다.

JDBC 드라이버는 어떻게 구합니까? albciff 대답 후

import groovy.sql.Sql 
node{ 

    def sql = Sql.newInstance("jdbc:mysql://mysql:3306/test_db", "user","passwd", "com.mysql.jdbc.Driver") 
    def rows = sql.execute "select count(*) from test_table;" 
    echo rows.dump() 
} 

업데이트 :의

내 버전 :

Jenkins = 2.19.1 

Database plugin = 1.5 

Mysql database plugin = 1.1 

최신 테스트 스크립트.

import groovy.sql.Sql 

Class.forName("com.mysql.jdbc.Driver") 

던지는 다음 MySQL DataBase Plugin 문서에서

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

답변

1

당신이 MySQL을에 대한 JDBC 드라이버가 포함되어 있는지 볼 수 있습니다

MySQL의 JDBC 드라이버가 GPLv2에 받고 있음을

주 FOSS 예외가 있습니다. 이 플러그인 자체는 FOSS 예외 조항의 적용을 받지만, 이 플러그인을 재배포하는 경우 라이센스 조항을 확인하십시오. Drizzle (+ MySQL) 데이터베이스 플러그인은 플러그인의 대안으로 사용 가능하며 그 중 하나는 BSD 라이센스에 의거합니다.

는 구체적으로이 플러그인에 대한 실제 마지막 버전 (1.1) 커넥터 버전 5.1.38 포함

버전 1.1 (2016 년 5 월 21) MySQL의 커넥터 버전 5.1.38

아마도 드라이버를 사용하려면 강제로 드라이버를 등록해야합니다.

import groovy.sql.Sql 
node{ 
    Class.forName("com.mysql.jdbc.Driver") 
    def sql = Sql.newInstance("jdbc:mysql://mysql:3306/test_db", "user","passwd", "com.mysql.jdbc.Driver") 
    def rows = sql.execute "select count(*) from test_table;" 
    echo rows.dump() 
} 

UPDATE : 위해

젠킨스 파이프 라인에서 사용할 수있는 JDBC 커넥터 클래스가하는 끝내

그렇게하기 전에 코드의 연결을 인스턴스화 Class.forName("com.mysql.jdbc.Driver")를 사용하려면 DataBase plugin을 최신 버전으로 업데이트해야하는 스크립트 :

버전 1.5 (2016년 5월 30일) 파이프 라인 지원은 MySQL의 커넥터가 포함되어 있는지 확인하는

+0

감사합니다. 귀하의 코드를 테스트하고있어 : java.lang.ClassNotFoundException : com.mysql.jdbc.드라이버 –

+0

@MikaelSvensson하지만 com.mysql.jdbc.Driver에 대해 ClassNotFoundException을받은 경우 그루비 문맥에서 mysql 커넥터를 사용할 수없는 것으로 보입니다. – albciff

+0

@MikaelSvensson 저는 젠킨스의 전문가는 아니지만 [DataBase plugin] (https://wiki.jenkins-ci.org/display/JENKINS/Database+Plugin)을 확인하는 것은'파이프 라인 지원 (Pipeline Support) '을 사용하려면 이 플러그인의 버전 (1.5). 이 버전의 플러그인이 있는지 확인할 수 있습니까? – albciff

관련 문제