Skip to content

Commit c770dee

Browse files
committed
Upgrade to the latest MarkLogic 12 Docker image.
Switch Jenkinsfile to use the Docker image instead of the RPM.
1 parent 43b9049 commit c770dee

File tree

4 files changed

+47
-26
lines changed

4 files changed

+47
-26
lines changed

.env

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
MARKLOGIC_IMAGE=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12
1+
MARKLOGIC_IMAGE=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:12.0.0-ubi-rootless-2.2.2
2+
MARKLOGIC_LOGS_VOLUME=./docker/marklogic/logs

Jenkinsfile

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,52 @@ pipeline{
66
buildDiscarder logRotator(artifactDaysToKeepStr: '7', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '')
77
}
88
environment{
9-
JAVA_HOME_DIR="/home/builder/java/jdk-17.0.2"
9+
JAVA17_HOME_DIR="/home/builder/java/jdk-17.0.2"
1010
GRADLE_DIR =".gradle"
1111
DMC_USER = credentials('MLBUILD_USER')
1212
DMC_PASSWORD = credentials('MLBUILD_PASSWORD')
13+
MARKLOGIC12_IMAGE_TAG = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:12.0.0-ubi-rootless-2.2.2"
1314
}
1415
stages{
1516
stage('tests'){
1617
steps{
17-
copyRPM 'Release','11.3.0'
18-
setUpML '$WORKSPACE/xdmp/src/Mark*.rpm'
19-
sh label:'setup', script: '''#!/bin/bash
20-
cd kafka-connector/test-app
21-
echo mlPassword=admin >> gradle-local.properties
22-
'''
18+
cleanupDocker()
19+
sh label:'mlsetup', script: '''#!/bin/bash
20+
echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
21+
sudo /usr/local/sbin/mladmin remove
22+
docker-compose down -v || true
23+
sudo /usr/local/sbin/mladmin cleandata
24+
cd kafka-connector
25+
MARKLOGIC_LOGS_VOLUME=/tmp MARKLOGIC_IMAGE=$MARKLOGIC12_IMAGE_TAG docker-compose up -d --build
26+
sleep 60s;
27+
'''
2328
sh label:'deploy project', script: '''#!/bin/bash
24-
export JAVA_HOME=$JAVA_HOME_DIR
29+
export JAVA_HOME=$JAVA17_HOME_DIR
2530
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
2631
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
2732
cd kafka-connector
2833
./gradlew hubInit
29-
./gradlew mlDeploy -PmlPassword=admin
34+
./gradlew -i mlDeploy
3035
'''
3136
sh label:'test', script: '''#!/bin/bash
32-
export JAVA_HOME=$JAVA_HOME_DIR
37+
export JAVA_HOME=$JAVA17_HOME_DIR
3338
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
3439
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
3540
cd kafka-connector
3641
./gradlew test || true
3742
'''
3843
junit '**/build/**/*.xml'
3944
}
45+
post{
46+
always{
47+
updateWorkspacePermissions()
48+
sh label:'mlcleanup', script: '''#!/bin/bash
49+
cd kafka-connector
50+
docker-compose down -v || true
51+
'''
52+
cleanupDocker()
53+
}
54+
}
4055
}
4156
}
4257
}

build.gradle

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -115,23 +115,28 @@ tasks.withType(JavaCompile) {
115115

116116
test {
117117
useJUnitPlatform()
118-
}
119-
120-
// Configures jacoco test coverage to be included when "test" is run
121-
test {
122118
finalizedBy jacocoTestReport
123-
}
124-
jacocoTestReport {
125-
dependsOn test
126-
}
127-
// Enabling the XML report allows for sonar to grab coverage data from jacoco
128-
jacocoTestReport {
129-
reports {
130-
// This isn't working with Gradle 8. Will replace this soon with the sonar instance in docker-compose.
131-
// xml.enabled true
119+
jacocoTestReport {
120+
dependsOn test
121+
reports {
122+
xml.required = true
123+
}
132124
}
133-
}
134125

126+
// Turning off coverage verification, as we haven't figured out how to configure Sonar correctly to pick up the jacoco
127+
// report from the "code-coverage-report" subproject and accurately capture coverage.
128+
// See https://docs.gradle.org/current/userguide/jacoco_plugin.html#sec:jacoco_report_violation_rules
129+
jacocoTestCoverageVerification {
130+
violationRules {
131+
rule {
132+
limit {
133+
minimum = 0.0
134+
}
135+
}
136+
}
137+
}
138+
139+
}
135140

136141
shadowJar {
137142
// Exclude DHF source files

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ services:
201201
- MARKLOGIC_ADMIN_USERNAME=admin
202202
- MARKLOGIC_ADMIN_PASSWORD=admin
203203
volumes:
204-
- ./docker/marklogic/logs:/var/opt/MarkLogic/Logs
204+
- ${MARKLOGIC_LOGS_VOLUME}:/var/opt/MarkLogic/Logs
205205
ports:
206206
- "8000-8002:8000-8002"
207207
- "8010-8013:8010-8013"

0 commit comments

Comments
 (0)