Skip to content

Commit da708af

Browse files
author
nagalakshmi
committed
provisioning the infra in single stage and optimized the pipeline flow
1 parent 7390d90 commit da708af

File tree

1 file changed

+34
-51
lines changed

1 file changed

+34
-51
lines changed

Jenkinsfile

Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,16 @@ def setupDockerMarkLogic(String image) {
3131
cd java-client-api
3232
export PLATFORM=$PLATFORM
3333
export SET_CONVERTERS=$SET_CONVERTERS
34-
# Use the ARM-specific compose file
3534
docker compose down -v || true
3635
docker volume prune -f
3736
38-
echo "Using image: ''' + image + '''"
37+
echo "Using image: "''' + image + '''
3938
docker pull ''' + image + '''
4039
4140
MARKLOGIC_IMAGE=''' + image + ''' MARKLOGIC_LOGS_VOLUME=marklogicLogs \
4241
docker compose up -d --build
42+
echo "Waiting for MarkLogic server to initialize."
4343
sleep 300
44-
echo "Debugging Java installation on ARM instance:"
45-
ls -la /usr/lib/jvm/
46-
readlink -f /usr/bin/java
47-
echo "Current JAVA_HOME_DIR value: $JAVA_HOME_DIR"
48-
ls -la $JAVA_HOME_DIR || echo "JAVA_HOME_DIR path does not exist"
49-
echo "Verifying Docker Compose installation:"
50-
docker compose version || echo "Docker Compose not available"
51-
docker --version
52-
5344
export JAVA_HOME=$JAVA_HOME_DIR
5445
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
5546
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -218,11 +209,9 @@ pipeline {
218209
stages {
219210

220211
stage('pull-request-tests') {
221-
222212
when {
223-
expression { false }
224-
not {
225-
expression { return params.regressions }
213+
expression {
214+
return !params.regressions && !params.arm_regressions
226215
}
227216
}
228217
steps {
@@ -257,30 +246,32 @@ pipeline {
257246
}
258247
stage('publish') {
259248
when {
260-
expression { false }
261249
branch 'develop'
262250
not {
263-
expression { return params.regressions }
251+
anyOf {
252+
expression { return params.regressions }
253+
expression { return params.arm_regressions }
254+
}
264255
}
265256
}
266257
steps {
267258
sh label: 'publish', script: '''#!/bin/bash
268-
export JAVA_HOME=$JAVA_HOME_DIR
269-
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
270-
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
271-
cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
272-
cd java-client-api
273-
./gradlew publish
274-
'''
259+
export JAVA_HOME=$JAVA_HOME_DIR
260+
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
261+
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
262+
cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
263+
cd java-client-api
264+
./gradlew publish
265+
'''
275266
}
276267
}
277268

278269
stage('regressions-11') {
279270
when {
280271
allOf {
281272
branch 'develop'
282-
expression { return params.regressions }
283-
expression { false }
273+
expression { return params.regressions }
274+
expression { return !params.arm_regressions }
284275
}
285276
}
286277
steps {
@@ -319,8 +310,8 @@ pipeline {
319310
when {
320311
allOf {
321312
branch 'develop'
322-
expression { return params.regressions }
323-
expression { false }
313+
expression { return params.regressions }
314+
expression { return !params.arm_regressions }
324315
}
325316
}
326317
steps {
@@ -338,14 +329,21 @@ pipeline {
338329
stage('provisionInfrastructure'){
339330
when {
340331
allOf {
332+
//branch 'develop'
341333
branch 'arm-regressions-testbranch'
342334
expression { return params.arm_regressions }
335+
expression { return !params.regressions }
343336
}
344337
}
345338
agent {label 'javaClientLinuxPool'}
346339

347340
steps{
348341
script {
342+
def nodeName = "java-client-agent-${BUILD_NUMBER}"
343+
def remoteFS = "/space/jenkins_home"
344+
def labels = "java-client-agent-${BUILD_NUMBER}"
345+
def instanceIp = env.EC2_PRIVATE_IP
346+
349347
def deploymentResult = deployAWSInstance([
350348
instanceName: "java-client-instance-${BUILD_NUMBER}",
351349
region: 'us-west-2',
@@ -365,25 +363,8 @@ pipeline {
365363
env.DEPLOYMENT_REGION = deploymentResult.region
366364
env.DEPLOYMENT_TERRAFORM_DIR = deploymentResult.terraformDir
367365
env.EC2_PRIVATE_IP = deploymentResult.privateIp
368-
}
369-
}
370-
}
371-
stage('setupJenkinsAgent'){
372-
when {
373-
allOf {
374-
branch 'arm-regressions-testbranch'
375-
expression { return params.arm_regressions }
376-
}
377-
}
378-
agent {label 'javaClientLinuxPool'}
379-
steps{
380-
script {
381-
def nodeName = "java-client-agent-${BUILD_NUMBER}"
382-
def remoteFS = "/space/jenkins_home"
383-
def labels = "java-client-agent-${BUILD_NUMBER}"
384-
def instanceIp = env.EC2_PRIVATE_IP
385-
386-
// Use shared library for volume attachment
366+
367+
// Use shared library for volume attachment
387368
def volumeResult = attachInstanceVolumes([
388369
instanceIp: instanceIp,
389370
remoteFS: remoteFS,
@@ -399,8 +380,8 @@ pipeline {
399380
echo "✅ Volume attachment completed: ${volumeResult.volumeAttached}"
400381
echo "✅ Java installed: ${volumeResult.javaInstalled}"
401382
echo "✅ Dependencies installed: ${volumeResult.dependenciesInstalled}"
402-
403-
// Use shared library to create Jenkins agent
383+
384+
// Use shared library to create Jenkins agent
404385
def agentResult = createJenkinsAgent([
405386
nodeName: nodeName,
406387
instanceIp: instanceIp,
@@ -420,8 +401,10 @@ pipeline {
420401
agent { label "java-client-agent-${BUILD_NUMBER}" }
421402
when {
422403
allOf {
404+
//branch 'develop'
423405
branch 'arm-regressions-testbranch'
424406
expression { return params.arm_regressions }
407+
expression { return !params.regressions }
425408
}
426409
}
427410
steps {
@@ -452,12 +435,12 @@ pipeline {
452435
echo "🧹 Starting cleanup process..."
453436

454437
try {
455-
// Cleanup Terraform infrastructure first
438+
// Cleanup Terraform infrastructure
456439
if (env.EC2_PRIVATE_IP) {
457440
echo "🗑️ Cleaning up Terraform resources..."
458441
node('javaClientLinuxPool') {
459442
try {
460-
sleep 300
443+
sleep 60
461444
unstash "terraform-${BUILD_NUMBER}"
462445
withAWS(credentials: 'headlessDbUserEC2', region: 'us-west-2', role: 'role-headless-testing', roleAccount: '343869654284', duration: 3600) {
463446
sh '''#!/bin/bash

0 commit comments

Comments
 (0)