2020-10-13 01:12:30 +02:00
if (
! BUILD_VERSION | |
! PRODUCT_VERSION | |
! USERNAME | |
! PASSWORD | |
! CONNECTORS | |
! SOURCE_MAVEN_REPO | |
! TARGET_HOST | |
! ARTIFACT_DIR
) {
error 'Input parameters not provided'
}
2021-01-08 07:39:34 +01:00
SOURCES_DIR = 'src-main'
2020-10-13 01:12:30 +02:00
SOURCES_DIR_INCUBATOR = 'src-incubator'
TARGET_DIR = "${ARTIFACT_DIR}/${PRODUCT_VERSION}"
REMOTE_TARGET = [
'name' : 'stage' ,
'host' : TARGET_HOST ,
'user' : USERNAME ,
'password' : PASSWORD ,
'allowAnyHosts' : true
]
node ( 'Slave' ) {
try {
stage ( 'Download package artifacts from repo' ) {
withCredentials ( [ string ( credentialsId: SOURCE_MAVEN_REPO , variable: 'SOURCE_MAVEN_REPO' ) ] ) {
sh "" "
rm - rf *
for CONNECTOR in \ $ { CONNECTORS } ; do
curl - OLs "\${SOURCE_MAVEN_REPO}/debezium-connector-\$CONNECTOR/${BUILD_VERSION}/debezium-connector-\$CONNECTOR-${BUILD_VERSION}-plugin.zip"
done
curl - OLs "\${SOURCE_MAVEN_REPO}/debezium-scripting/${BUILD_VERSION}/debezium-scripting-${BUILD_VERSION}.zip"
for CONNECTOR in \ $ { CONNECTORS_INCUBATOR } ; do
2021-01-08 07:39:34 +01:00
curl - OLs "\${SOURCE_MAVEN_REPO}/debezium-connector-\$CONNECTOR/${BUILD_VERSION_INCUBATOR}/debezium-connector-\$CONNECTOR-${BUILD_VERSION_INCUBATOR}-plugin.zip"
done
for CONNECTOR in \ $ { STANDALONE_CONNECTORS } ; do
CONNECTOR_BUILD_VERSION_VARIABLE = "BUILD_VERSION_\${CONNECTOR^^}"
CONNECTOR_BUILD_VERSION = \ $ { ! CONNECTOR_BUILD_VERSION_VARIABLE }
curl - OLs "\${SOURCE_MAVEN_REPO}/debezium-connector-\$CONNECTOR/\${CONNECTOR_BUILD_VERSION}/debezium-connector-\$CONNECTOR-\${CONNECTOR_BUILD_VERSION}-plugin.zip"
2020-10-13 01:12:30 +02:00
done
"" "
}
}
stage ( 'Download and repackage sources' ) {
withCredentials ( [ string ( credentialsId: SOURCE_MAVEN_REPO , variable: 'SOURCE_MAVEN_REPO' ) ] ) {
sh "" "
mkdir "${SOURCES_DIR}" "${SOURCES_DIR_INCUBATOR}"
2021-01-08 07:39:34 +01:00
for CONNECTOR in \ $ { STANDALONE_CONNECTORS } ; do
CONNECTOR_BUILD_VERSION_VARIABLE = "BUILD_VERSION_\${CONNECTOR^^}"
CONNECTOR_BUILD_VERSION = \ $ { ! CONNECTOR_BUILD_VERSION_VARIABLE }
CONNECTOR_SOURCE_DIR = "${SOURCES_DIR}/debezium-connector-\${CONNECTOR}"
mkdir "\${CONNECTOR_SOURCE_DIR}"
curl - Lv "\${SOURCE_MAVEN_REPO}/debezium-connector-\${CONNECTOR}/\${CONNECTOR_BUILD_VERSION}/debezium-connector-\${CONNECTOR}-\${CONNECTOR_BUILD_VERSION}-project-sources.tar.gz" | tar xz - - strip - components = 1 - C "\${CONNECTOR_SOURCE_DIR}"
done
curl - Lv "\${SOURCE_MAVEN_REPO}/debezium-incubator-parent/${BUILD_VERSION_INCUBATOR}/debezium-incubator-parent-${BUILD_VERSION_INCUBATOR}-project-sources.tar.gz" | tar xz - - strip - components = 1 - C "${SOURCES_DIR_INCUBATOR}"
2020-10-13 01:12:30 +02:00
for CONNECTOR in \ $ { CONNECTORS_INCUBATOR } ; do
cp - r "${SOURCES_DIR_INCUBATOR}" / debezium - connector - \ $ { CONNECTOR } "${SOURCES_DIR}"
done
2021-01-08 07:39:34 +01:00
curl - Lv "\${SOURCE_MAVEN_REPO}/debezium-parent/${BUILD_VERSION}/debezium-parent-${BUILD_VERSION}-project-sources.tar.gz" | tar xz - - strip - components = 1 - C "${SOURCES_DIR}"
2020-10-13 01:12:30 +02:00
( cd "${SOURCES_DIR}" & & zip - r "../debezium-${BUILD_VERSION}-src.zip" * )
rm - rf "${SOURCES_DIR}" "${SOURCES_DIR_INCUBATOR}"
ls - al
"" "
}
}
stage ( 'Upload artifacts' ) {
withCredentials ( [ string ( credentialsId: TARGET_HOST , variable: 'TARGET_HOST' ) ] ) {
sh "" "
set + x
docker run - - rm - v \ $ ( pwd ) : /upload ictu/ sshpass - p $ { PASSWORD } rsync - va - e \ "ssh -o StrictHostKeyChecking=no\" - - include = '*.zip' /upload/ $ {
USERNAME
} @ \ $ { TARGET_HOST } : $ { TARGET_DIR }
docker run - - rm ictu / sshpass - p $ { PASSWORD } ssh - o StrictHostKeyChecking = no $ { USERNAME } @ \ $ { TARGET_HOST } ls - al $ { TARGET_DIR }
"" "
if ( STAGE_FILES ) {
sh "" "
set + x
docker run - - rm ictu / sshpass - p $ { PASSWORD } ssh - o StrictHostKeyChecking = no $ {
USERNAME
} @ \ $ { TARGET_HOST } /mnt/ redhat /scripts/ rel - eng /utility/ bus - clients / stage - mw - release $ { PRODUCT_VERSION }
"" "
}
}
}
} finally {
2020-11-04 10:08:33 +01:00
mail to: 'jpechane@redhat.com' , subject: "${JOB_NAME} run #${BUILD_NUMBER} finished" , body: "Run ${BUILD_URL} finished with result: ${currentBuild.currentResult}"
2020-10-13 01:12:30 +02:00
}
}