DBZ-2618 Deploy snapshots for Vitess connector

This commit is contained in:
Jiri Pechanec 2020-10-02 11:29:56 +02:00 committed by Gunnar Morling
parent 17039df7ce
commit 26c8aecff7
2 changed files with 26 additions and 25 deletions

View File

@ -21,13 +21,9 @@
description: "A branch from which Debezium is built" description: "A branch from which Debezium is built"
default: "master" default: "master"
- string: - string:
name: DEBEZIUM_INCUBATOR_REPOSITORY name: DEBEZIUM_ADDITIONAL_REPOSITORIES
description: "Repository from which Debezium incubating components are built" description: "A space separated list of additional repositories from which Debezium incubating components are built (id#repo#branch)"
default: "github.com/debezium/debezium-incubator.git" default: "incubator#github.com/debezium/debezium-incubator.git#master vitess#github.com/debezium/debezium-connector-vitess#master"
- string:
name: DEBEZIUM_INCUBATOR_BRANCH
description: "A branch from which Debezium incubating components are built"
default: "master"
dsl: dsl:
!include-raw: !include-raw:
- "scripts/deploy-snapshots.groovy" - "scripts/deploy-snapshots.groovy"

View File

@ -4,8 +4,7 @@ import java.util.stream.*
if ( if (
!DEBEZIUM_REPOSITORY || !DEBEZIUM_REPOSITORY ||
!DEBEZIUM_BRANCH || !DEBEZIUM_BRANCH ||
!DEBEZIUM_INCUBATOR_REPOSITORY || !DEBEZIUM_ADDITIONAL_REPOSITORIES
!DEBEZIUM_INCUBATOR_BRANCH
) { ) {
error 'Input parameters not provided' error 'Input parameters not provided'
} }
@ -13,12 +12,12 @@ if (
GIT_CREDENTIALS_ID = 'debezium-github' GIT_CREDENTIALS_ID = 'debezium-github'
DEBEZIUM_DIR = 'debezium' DEBEZIUM_DIR = 'debezium'
INCUBATOR_DIR = 'debezium-incubator'
HOME_DIR = '/home/cloud-user' HOME_DIR = '/home/cloud-user'
ORACLE_ARTIFACT_DIR = "$HOME_DIR/oracle-libs/12.2.0.1.0" ORACLE_ARTIFACT_DIR = "$HOME_DIR/oracle-libs/12.2.0.1.0"
ORACLE_ARTIFACT_VERSION = '12.2.0.1' ORACLE_ARTIFACT_VERSION = '12.2.0.1'
def additionalDirs = []
node('Slave') { node('Slave') {
stage ('Initialize') { stage ('Initialize') {
@ -33,14 +32,22 @@ node('Slave') {
userRemoteConfigs: [[url: "https://$DEBEZIUM_REPOSITORY", credentialsId: GIT_CREDENTIALS_ID]] userRemoteConfigs: [[url: "https://$DEBEZIUM_REPOSITORY", credentialsId: GIT_CREDENTIALS_ID]]
] ]
) )
checkout([$class: 'GitSCM', DEBEZIUM_ADDITIONAL_REPOSITORIES.split().each {
branches: [[name: "*/$DEBEZIUM_INCUBATOR_BRANCH"]], def (id, repository, branch) = it.split('#')
doGenerateSubmoduleConfigurations: false, checkout([$class: 'GitSCM',
extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: INCUBATOR_DIR]], branches: [[name: "*/$branch"]],
submoduleCfg: [], doGenerateSubmoduleConfigurations: false,
userRemoteConfigs: [[url: "https://$DEBEZIUM_INCUBATOR_REPOSITORY", credentialsId: GIT_CREDENTIALS_ID]] extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: id]],
] submoduleCfg: [],
) userRemoteConfigs: [[url: "https://$repository", credentialsId: GIT_CREDENTIALS_ID]]
]
)
additionalDirs << id
}
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"
}
} }
stage ('Build and deploy Debezium') { stage ('Build and deploy Debezium') {
@ -49,13 +56,11 @@ node('Slave') {
} }
} }
stage ('Build and deploy Debezium Incubator') { additionalDirs.each { id ->
dir(ORACLE_ARTIFACT_DIR) { stage ("Build and deploy Debezium ${id.capitalize()}") {
sh "mvn install:install-file -DgroupId=com.oracle.instantclient -DartifactId=ojdbc8 -Dversion=$ORACLE_ARTIFACT_VERSION -Dpackaging=jar -Dfile=ojdbc8.jar" dir(id) {
sh "mvn install:install-file -DgroupId=com.oracle.instantclient -DartifactId=xstreams -Dversion=$ORACLE_ARTIFACT_VERSION -Dpackaging=jar -Dfile=xstreams.jar" sh "mvn clean deploy -U -s $HOME/.m2/settings-snapshots.xml -DdeployAtEnd=true -DskipITs -DskipTests -P${id == 'incubator' ? 'assembly,oracle' : 'assembly'}"
} }
dir(INCUBATOR_DIR) {
sh "mvn clean deploy -U -s $HOME/.m2/settings-snapshots.xml -DdeployAtEnd=true -DskipITs -DskipTests -Passembly,oracle"
} }
} }
} }