diff --git a/jenkins/release.jenkinsfile b/jenkins/release.jenkinsfile
index e4b6edd16..29c6be359 100644
--- a/jenkins/release.jenkinsfile
+++ b/jenkins/release.jenkinsfile
@@ -42,7 +42,6 @@ pipeline {
causeString: 'A commit was pushed on opensearch-project/opensearch-k8s-operator repository main branch causing this workflow to run',
printContributedVariables: false,
printPostContent: false,
- regexpFilterText: '$isTag',
)
}
environment {
@@ -55,7 +54,6 @@ pipeline {
steps {
script {
def ref_final = "${GIT_REFERENCE}"
- println("the ref_final was : ${ref_final}")
def ref_url = "${REPO_URL}/commit/${GIT_REFERENCE}"
if (env.USER_BUILD_CAUSE.equals('[]') && env.TIMER_BUILD_CAUSE.equals('[]')) {
ref_final = "${ref}"
@@ -89,15 +87,14 @@ pipeline {
string(name: 'DOCKER_BUILD_GIT_REPOSITORY', value: "${REPO_URL}"),
string(name: 'DOCKER_BUILD_GIT_REPOSITORY_REFERENCE', value: "${ref_final}"),
string(name: 'DOCKER_BUILD_SCRIPT_WITH_COMMANDS', value: [
- 'id',
- 'pwd',
'ls -l',
+ 'cd opensearch-operator',
[
'bash',
- 'scripts/build-image-multi-arch.sh',
+ '../scripts/build-image-multi-arch.sh',
"-v ${OPERATOR_VERSION}",
"-a 'x64,arm,arm64'",
- "-f opensearch-operator/Dockerfile-busybox",
+ "-f Dockerfile-busybox",
"-p ${OPERATOR_PRODUCT}"
].join(' ')
].join(' && ')),
@@ -121,5 +118,73 @@ pipeline {
}
}
}
+ stage('OpenSearch Operator') {
+ steps {
+ script {
+ def ref_final = "${GIT_REFERENCE}"
+ def ref_url = "${REPO_URL}/commit/${GIT_REFERENCE}"
+ if (env.USER_BUILD_CAUSE.equals('[]') && env.TIMER_BUILD_CAUSE.equals('[]')) {
+ ref_final = "${ref}"
+ ref_url = "${REPO_URL}/releases/tag/${ref}"
+ println("Triggered by GitHub: ${ref_url}")
+
+ currentBuild.description = """GitHub: ${ref_url}"""
+ }
+ else {
+ println("Triggered by User/Timer: ${ref_url}")
+ currentBuild.description = """User/Timer: ${ref_url}"""
+ }
+
+ if (ref_final == null || ref_final == '') {
+ currentBuild.result = 'ABORTED'
+ error("Missing git tag reference.")
+ }
+
+ echo("Git checkout ${REPO_URL} on ${ref_final} for opensearch-operator-busybox release")
+ checkout scm
+ sh("git checkout ${ref_final}")
+
+ def OPERATOR_PRODUCT = "opensearch-operator"
+ def OPERATOR_VERSION = "$ref_final"
+
+ echo("${OPERATOR_PRODUCT}: ${OPERATOR_VERSION}")
+
+ dockerBuild: {
+ build job: 'docker-build',
+ parameters: [
+ string(name: 'DOCKER_BUILD_GIT_REPOSITORY', value: "${REPO_URL}"),
+ string(name: 'DOCKER_BUILD_GIT_REPOSITORY_REFERENCE', value: "${ref_final}"),
+ string(name: 'DOCKER_BUILD_SCRIPT_WITH_COMMANDS', value: [
+ 'ls -l',
+ 'cd opensearch-operator',
+ [
+ 'bash',
+ '../scripts/build-image-multi-arch.sh',
+ "-v ${OPERATOR_VERSION}",
+ "-a 'x64,arm,arm64'",
+ "-f Dockerfile",
+ "-p ${OPERATOR_PRODUCT}"
+ ].join(' ')
+ ].join(' && ')),
+ ]
+ }
+ dockerPromotion: {
+ build job: 'docker-promotion',
+ parameters: [
+ string(name: 'SOURCE_IMAGES', value: '${OPERATOR_PRODUCT}:${OPERATOR_VERSION}'),
+ string(name: 'RELEASE_VERSION', value: "${OPERATOR_VERSION}"),
+ string(name: 'DOCKER_HUB_PROMOTE', value: true),
+ string(name: 'ECR_PROMOTE', value: true),
+ string(name: 'TAG_LATEST', value: true)
+ ]
+ }
+ }
+ }
+ post {
+ always {
+ cleanWs disableDeferredWipeout: true, deleteDirs: true
+ }
+ }
+ }
}
}
diff --git a/scripts/build-image-multi-arch.sh b/scripts/build-image-multi-arch.sh
index 389f12772..a38338306 100644
--- a/scripts/build-image-multi-arch.sh
+++ b/scripts/build-image-multi-arch.sh
@@ -135,4 +135,4 @@ docker ps | grep $BUILDER_NAME
# Build multi-arch images
PLATFORMS=`echo "${ARCHITECTURE_ARRAY[@]/#/linux/}" | sed 's/x64/amd64/g;s/ /,/g'` && echo PLATFORMS $PLATFORMS
-docker buildx build --platform $PLATFORMS --build-arg VERSION=$VERSION --build-arg BUILD_DATE=`date -u +%Y-%m-%dT%H:%M:%SZ` --build-arg NOTES=$NOTES -t pgodithi/opensearchproject/$PRODUCT:${VERSION} -f $DOCKERFILE . --push
+docker buildx build --platform $PLATFORMS --build-arg VERSION=$VERSION --build-arg BUILD_DATE=`date -u +%Y-%m-%dT%H:%M:%SZ` --build-arg NOTES=$NOTES -t opensearchstaging/$PRODUCT:${VERSION} -f $DOCKERFILE . --push