71 lines
3.2 KiB
Groovy
71 lines
3.2 KiB
Groovy
if (
|
|
!BUILD_VERSION ||
|
|
!PRODUCT_VERSION ||
|
|
!USERNAME ||
|
|
!PASSWORD ||
|
|
!CONNECTORS ||
|
|
!SOURCE_MAVEN_REPO ||
|
|
!TARGET_HOST ||
|
|
!ARTIFACT_DIR
|
|
) {
|
|
error 'Input parameters not provided'
|
|
}
|
|
|
|
SOURCES_DIR='src'
|
|
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') {
|
|
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
|
|
curl -OLs "\${SOURCE_MAVEN_REPO}/debezium-connector-\$CONNECTOR/${BUILD_VERSION_INCUBATOR}/debezium-connector-\$CONNECTOR-${BUILD_VERSION_INCUBATOR}-plugin.zip"
|
|
done
|
|
"""
|
|
}
|
|
}
|
|
stage ('Download and repackage sources') {
|
|
withCredentials([string(credentialsId: SOURCE_MAVEN_REPO, variable: 'SOURCE_MAVEN_REPO')]) {
|
|
sh """
|
|
mkdir "${SOURCES_DIR}" "${SOURCES_DIR_INCUBATOR}"
|
|
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}"
|
|
for CONNECTOR in \${CONNECTORS_INCUBATOR}; do
|
|
cp -r "${SOURCES_DIR_INCUBATOR}"/debezium-connector-\${CONNECTOR} "${SOURCES_DIR}"
|
|
done
|
|
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}"
|
|
(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}
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
}
|