1
1
@Library (' shared-libraries' ) _
2
- pipeline{
2
+
3
+ def setupDockerMarkLogic (String image ) {
4
+ sh label :' mlsetup' , script : ''' #!/bin/bash
5
+ echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
6
+ sudo /usr/local/sbin/mladmin remove
7
+ sudo /usr/local/sbin/mladmin cleandata
8
+ cd ml-gradle
9
+ docker-compose down -v || true
10
+ docker volume prune -f
11
+ echo "Using image: "''' + image+ '''
12
+ docker pull ''' + image+ '''
13
+ MARKLOGIC_IMAGE=''' + image+ ''' MARKLOGIC_LOGS_PATH=/tmp/marklogic/logs docker compose up -d --build
14
+ echo "Waiting for MarkLogic server to initialize."
15
+ sleep 60s
16
+ '''
17
+ }
18
+
19
+ def tearDownDocker () {
20
+ sh label :' tearDownDocker' , script : ''' #!/bin/bash
21
+ cd ml-gradle
22
+ docker compose down -v || true
23
+ docker volume prune -f
24
+ sudo rm -rf /tmp/marklogic/logs
25
+ '''
26
+ }
27
+
28
+ pipeline {
3
29
agent {label ' devExpLinuxPool' }
30
+
4
31
options {
5
32
checkoutToSubdirectory ' ml-gradle'
6
- buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 30 ' , numToKeepStr : ' ' )
33
+ buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 7 ' , numToKeepStr : ' 5 ' )
7
34
}
8
- environment{
35
+
36
+ environment {
9
37
JAVA_HOME_DIR = " /home/builder/java/jdk-17.0.2"
10
38
GRADLE_DIR = " .gradle"
11
39
DMC_USER = credentials(' MLBUILD_USER' )
12
40
DMC_PASSWORD = credentials(' MLBUILD_PASSWORD' )
13
41
}
14
- stages{
15
- stage(' tests' ){
16
- steps{
17
- copyRPM ' Release' ,' 11.3.0'
18
- setUpML ' $WORKSPACE/xdmp/src/Mark*.rpm'
42
+
43
+ stages {
44
+
45
+ stage(' tests' ) {
46
+ steps {
47
+ cleanupDocker()
48
+ setupDockerMarkLogic(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:latest-12" )
19
49
sh label :' test' , script : ''' #!/bin/bash
50
+ # 'set -e' causes the script to fail if any command fails.
51
+ set -e
20
52
export JAVA_HOME=$JAVA_HOME_DIR
21
53
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
22
54
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
@@ -31,7 +63,14 @@ pipeline{
31
63
'''
32
64
junit ' **/build/**/*.xml'
33
65
}
66
+ post {
67
+ always {
68
+ tearDownDocker()
69
+ cleanupDocker()
70
+ }
71
+ }
34
72
}
73
+
35
74
stage(' publish' ){
36
75
when {
37
76
branch ' dev'
0 commit comments