Rundeck 版本升级到 3.3.9

问题描述

我们一直在尝试将 Rundeck 从 3.2.8 升级到 3.3.4 及更高版本。我们正面临 JDBC 连接器的问题,因为 MysqL JDBC 连接器不再与 Rundeck 发行版捆绑在一起。 我们在 jdbc 连接器上遵循了 Rundeck 建议,但在 DB 端仍然面临一些问题。以下是我们在日志中注意到的一些问题,请帮助

引起:org.springframework.beans.BeanInstantiationException:无法实例化[org.grails.orm.hibernate.HibernateDatastore]:构造函数抛出异常;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

Caused by: org.hibernate.service.spi.ServiceException: 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

Caused by: org.hibernate.HibernateException: 'hibernate.dialect' 未设置时,对 DialectResolutionInfo 的访问不能为空

[2021-02-25T18:17:34,886] 错误 pool.ConnectionPool - 无法创建池的初始连接。 java.sql.sqlException:无法加载类:org.MysqL.jdbc.Driver from ClassLoader:org.springframework.boot.loader.Launchedurlclassloader@515f550a;ClassLoader:org.springframework.boot.loader.Launchedurlclassloader@515f550a

*[2021-02-25T18:12:10,067] 错误堆栈跟踪 - 完整堆栈跟踪: java.sql.sqlSyntaxErrorException: (conn=19299) 'field list' 中的未知列 'workflowst1_.expand_token_in_script_file' *

由:org.mariadb.jdbc.internal.util.exceptions.MariaDbsqlException:“字段列表”中的未知列“workflowst1_.expand_token_in_script_file”引起

java.sql.sqlException:无法加载类:org.MysqL.jdbc.Driver from ClassLoader:org.springframework.boot.loader.Launchedurlclassloader@515f550a;ClassLoader:org.springframework.boot.loader.Launchedurlclassloader @515f550a

解决方法

请勾选您需要将驱动程序类名称更改为 org.mariadb.jdbc.Driver 的 documentation,然后重新启动 rundeck。

,

作为 this 解决方案的替代方案,您可以下载并使用 MySQL 驱动程序来保留您的配置,请查看 this 指南。

另外,请确保您在 rundeck-config.properties 配置文件中定义了 dataSource.dbCreate = update

,

似乎是 liquibase 迁移的问题。我在数据库中创建了一个新架构,并将其与我当前的架构进行了比较,发现缺少一列,这对我有用。

ALTER TABLE `rundeck`.`workflow_step` ADD COLUMN `expand_token_in_script_file` BIT(1) NULL DEFAULT NULL AFTER `adhoc_execution`;