尝试通过 scriptler 插件在 jenkins 中使用 groovy 脚本连接到 mysql 数据库。 使用 jdbc mysql 连接器进行相同的操作。
mysql 连接器 jar 文件存在于运行 jenkins 的计算机的类路径中。 仅运行 1 台 Jenkins 机器。
下面是代码片段:
import java.sql.*
import groovy.sql.Sql
DriverManager.registerDriver(new com.mysql.jdbc.Driver())
try{
def dbURL = 'jdbc:mysql://x.x.x.x:3306/Employee_DB'
def dbUserName = 'root'
def dbPassword = 'root'
def dbDriver = 'com.mysql.jdbc.Driver'
def db = Sql.newInstance(dbURL,dbUserName,dbPassword,dbDriver)
List authors = db.rows('SELECT name FROM Employee')
print authors
}catch(Exception e){
print "exception"
}finally{
//db.close()
}
但是出现异常:
Script1.groovy: 5: unable to resolve class com.mysql.jdbc.Driver
@ line 5, column 30.
DriverManager.registerDriver(new com.mysql.jdbc.Driver())
如果运行的话是同一段代码
groovy 1.groovy
执行成功。
但是 jenkins scriptler 无法检测到此 jar 文件。
在 manager jenkins -> 系统信息中,我也可以看到系统环境变量设置。
需要帮助。
最佳答案
Jenkins 存在一个错误,它不会读取环境变量,也不会读取 Jenkins 定义的变量,它会考虑 java native 路径,它是/usr/lib/jvm/java-1.8.0-openjdk-1.8 .0.65-3.b17.el7.x86_64/jre/lib/ext
所以在上面的路径中添加Jdbc jar并重新启动jenkins
希望这有帮助
关于mysql - 来自 jenkins scriptler 的 groovy 脚本无法正常工作。类路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45072261/