DBZ-7439 [ci] Update TF with Oracle 23

* Introduce new InstantClient version property
  Needed because ojdbc8 versions for Oracle 23 have different version semantics
  Also adjusted documentation/build pipelines
* Introduce oracle-23 profile
  Allows testing Oracle 23 separately from distribution builds
This commit is contained in:
Chris Cranford 2024-01-19 09:21:28 -05:00 committed by Ondrej Babec
parent 02700d75b4
commit 3d22ed30a3
5 changed files with 19 additions and 4 deletions

View File

@ -241,7 +241,7 @@
<dependency>
<groupId>com.oracle.instantclient</groupId>
<artifactId>xstreams</artifactId>
<version>${version.oracle.driver}</version>
<version>${version.oracle.instantclient}</version>
</dependency>
<!-- Db2 JDBC driver -->

View File

@ -809,5 +809,15 @@
<log.mining.read.only.mode>true</log.mining.read.only.mode>
</properties>
</profile>
<profile>
<id>oracle-23</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<version.oracle.driver>23.3.0.23.09</version.oracle.driver>
<version.oracle.instantclient>23.3.0.0</version.oracle.instantclient>
</properties>
</profile>
</profiles>
</project>

View File

@ -23,6 +23,7 @@ mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get \
Add Oracle drivers for oracle connector
``` bash
ORACLE_ARTIFACT_VERSION=$(mvn -q -DforceStdout help:evaluate -Dexpression=version.oracle.driver)
ORACLE_INSTANTCLIENT_ARTIFACT_VERSION=$(mvn -q -DforceStdout help:evaluate -Dexpression=version.oracle.instantclient)
ORACLE_ARTIFACT_DIR="${PWD}/oracle-libs/${ORACLE_ARTIFACT_VERSION}.0"
mkdir -p ${ORACLE_ARTIFACT_DIR}
@ -31,7 +32,7 @@ mvn install:install-file -DgroupId=com.oracle.instantclient -DartifactId=ojdbc8
-Dversion=${ORACLE_ARTIFACT_VERSION} -Dpackaging=jar -Dfile=ojdbc8.jar \
-Dmaven.repo.local=${MAVEN_REPO}
mvn install:install-file -DgroupId=com.oracle.instantclient -DartifactId=xstreams \
-Dversion=${ORACLE_ARTIFACT_VERSION} -Dpackaging=jar -Dfile=xstreams.jar \
-Dversion=${ORACLE_INSTANTCLIENT_ARTIFACT_VERSION} -Dpackaging=jar -Dfile=xstreams.jar \
-Dmaven.repo.local=${MAVEN_REPO}
```

View File

@ -327,11 +327,12 @@ node('release-node') {
dir(DEBEZIUM_DIR) {
ORACLE_ARTIFACT_VERSION = (readFile('pom.xml') =~ /(?ms)<version.oracle.driver>(.+)<\/version.oracle.driver>/)[0][1]
ORACLE_INSTANTCLIENT_ARTIFACT_VERSION = (readFile('pom.xml') =~ /(?ms)<version.oracle.instantclient>(.+)<\/version.oracle.instantclient>/)[0][1]
ORACLE_ARTIFACT_DIR = "$HOME_DIR/oracle-libs/${ORACLE_ARTIFACT_VERSION}.0"
}
dir(ORACLE_ARTIFACT_DIR) {
sh "mvn install:install-file -DgroupId=com.oracle.instantclient -DartifactId=ojdbc8 -Dversion=$ORACLE_ARTIFACT_VERSION -Dpackaging=jar -Dfile=ojdbc8.jar"
sh "mvn install:install-file -DgroupId=com.oracle.instantclient -DartifactId=xstreams -Dversion=$ORACLE_ARTIFACT_VERSION -Dpackaging=jar -Dfile=xstreams.jar"
sh "mvn install:install-file -DgroupId=com.oracle.instantclient -DartifactId=xstreams -Dversion=$ORACLE_INSTANTCLIENT_ARTIFACT_VERSION -Dpackaging=jar -Dfile=xstreams.jar"
}
}

View File

@ -130,12 +130,15 @@
<version.mysql.binlog>0.29.0</version.mysql.binlog>
<version.mongo.driver>4.11.0</version.mongo.driver>
<version.sqlserver.driver>12.4.2.jre8</version.sqlserver.driver>
<version.oracle.driver>23.3.0.0</version.oracle.driver>
<version.db2.driver>11.5.0.0</version.db2.driver>
<version.informix.changestream.client>1.1.3</version.informix.changestream.client>
<version.informix.driver>4.50.10</version.informix.driver>
<version.cassandra.driver>4.14.0</version.cassandra.driver>
<version.mariadb.driver>3.2.0</version.mariadb.driver>
<!-- These two should be aligned by major versions but minor could vary -->
<!-- Oracle publishes the driver versions more frequently than the instant client -->
<version.oracle.driver>21.6.0.0</version.oracle.driver>
<version.oracle.instantclient>21.6.0.0</version.oracle.instantclient>
<!-- Databases, should align with database drivers -->
<version.mysql.server>8.2</version.mysql.server>