1
1
@Library (' shared-libraries' ) _
2
+
2
3
pipeline{
4
+
3
5
agent none;
6
+
4
7
environment{
5
- JAVA_HOME_DIR = " /home/builder/java/jdk-11 .0.2"
8
+ JAVA_HOME_DIR = " /home/builder/java/jdk-17 .0.2"
6
9
GRADLE_DIR = " .gradle"
7
10
}
11
+
8
12
options {
9
13
checkoutToSubdirectory ' marklogic-python-client'
10
- buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 30' , numToKeepStr : ' ' )
14
+ buildDiscarder logRotator(artifactDaysToKeepStr : ' 7' , artifactNumToKeepStr : ' ' , daysToKeepStr : ' 30' , numToKeepStr : ' 5 ' )
11
15
}
16
+
12
17
stages{
13
18
stage(' tests' ){
14
19
agent {label ' devExpLinuxPool' }
15
20
steps{
16
- script{
17
- copyRPM ' Latest' ,' 11'
18
- setUpML ' $WORKSPACE/xdmp/src/Mark*.rpm'
19
- sh label :' deploy project' , script : ''' #!/bin/bash
20
- export JAVA_HOME=$JAVA_HOME_DIR
21
- export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
22
- export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
23
- cd marklogic-python-client/test-app
24
- ./gradlew -i mlDeploy -PmlPassword=admin
25
- '''
26
- sh label :' Run tests' , script : ''' #!/bin/bash
27
- cd marklogic-python-client
28
- python -m venv .venv;
29
- source .venv/bin/activate;
30
- pip install poetry;
31
- poetry install;
32
- pytest --junitxml=TestReport.xml || true
33
- '''
34
- junit ' marklogic-python-client/TestReport.xml'
35
- }
21
+ cleanupDocker()
22
+ sh label :' mlsetup' , script : ''' #!/bin/bash
23
+ echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
24
+ sudo /usr/local/sbin/mladmin remove
25
+ docker-compose down -v || true
26
+ sudo /usr/local/sbin/mladmin cleandata
27
+ cd marklogic-python-client/test-app
28
+ MARKLOGIC_LOGS_VOLUME=/tmp docker-compose up -d --build
29
+ cd ..
30
+ '''
31
+ sh label :' deploy project' , script : ''' #!/bin/bash
32
+ export JAVA_HOME=$JAVA_HOME_DIR
33
+ export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
34
+ export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
35
+ cd marklogic-python-client/test-app
36
+ ./gradlew -i mlDeploy -PmlPassword=admin
37
+ '''
38
+ sh label :' Run tests' , script : ''' #!/bin/bash
39
+ cd marklogic-python-client
40
+ python -m venv .venv;
41
+ source .venv/bin/activate;
42
+ pip install poetry;
43
+ poetry install;
44
+ pytest --junitxml=TestReport.xml || true
45
+ '''
46
+ junit ' marklogic-python-client/TestReport.xml'
47
+ }
48
+ post{
49
+ always{
50
+ updateWorkspacePermissions()
51
+ sh label :' mlcleanup' , script : ''' #!/bin/bash
52
+ cd marklogic-python-client/test-app
53
+ docker-compose down -v || true
54
+ '''
55
+ cleanupDocker()
56
+ }
36
57
}
37
58
}
38
59
}
39
- }
60
+ }
0 commit comments