Repository navigation
Expand file tree
/
Copy pathJenkinsfile
More file actions
73 lines (69 loc) · 2.34 KB
/
Copy pathJenkinsfile
File metadata and controls
73 lines (69 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
@Library('shared-libraries') _
def setupDockerMarkLogic(String image){
cleanupDocker()
sh label:'mlsetup', script: '''#!/bin/bash
echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
sudo /usr/local/sbin/mladmin remove
sudo /usr/local/sbin/mladmin cleandata
cd marklogic-unit-test
docker compose down -v || true
docker volume prune -f
echo "Using image: "'''+image+'''
docker pull '''+image+'''
MARKLOGIC_IMAGE='''+image+''' MARKLOGIC_LOGS_VOLUME=marklogicLogs docker compose up -d --build
'''
}
pipeline{
agent {label 'devExpLinuxPool'}
options {
checkoutToSubdirectory 'marklogic-unit-test'
buildDiscarder logRotator(artifactDaysToKeepStr: '7', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '')
}
environment{
JAVA_HOME_DIR="/home/builder/java/jdk-17.0.2"
GRADLE_DIR =".gradle"
DMC_USER = credentials('MLBUILD_USER')
DMC_PASSWORD = credentials('MLBUILD_PASSWORD')
}
stages {
stage('tests') {
steps {
setupDockerMarkLogic("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12")
sh label: 'deploy-test-app', script: '''#!/bin/bash
export JAVA_HOME=$JAVA_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$JAVA_HOME/bin:$PATH
echo "JAVA_HOME is $JAVA_HOME"
cd marklogic-unit-test
./gradlew -i mlWaitTillReady
./gradlew mlTestConnections
./gradlew mlDeploy
'''
sh label:'test', script: '''#!/bin/bash
export JAVA_HOME=$JAVA_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$JAVA_HOME/bin:$PATH
cd marklogic-unit-test
echo "mlPassword=admin" > marklogic-junit5/gradle-local.properties
./gradlew test || true
'''
junit '**/build/**/*.xml'
}
}
stage('publish'){
when {
branch 'develop'
}
steps{
sh label:'publish', script: '''#!/bin/bash
export JAVA_HOME=$JAVA_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$JAVA_HOME/bin:$PATH
cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
cd marklogic-unit-test
./gradlew publish
'''
}
}
}
}