Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
MARKLOGIC_IMAGE=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12
MARKLOGIC_IMAGE=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:12.1.nightly-ubi-rootless
MARKLOGIC_LOGS_VOLUME=./docker/marklogic/logs
84 changes: 58 additions & 26 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,41 +1,73 @@
@Library('shared-libraries') _

def runtests(String marklogicVersion) {
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
docker-compose down -v || true
sudo /usr/local/sbin/mladmin cleandata
cd kafka-connector
MARKLOGIC_LOGS_VOLUME=/tmp MARKLOGIC_IMAGE='''+marklogicVersion+''' docker-compose up -d --build
sleep 120s;
'''
sh label:'deploy project', script: '''#!/bin/bash
export JAVA_HOME=$JAVA17_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
cd kafka-connector
./gradlew hubInit
./gradlew -i mlDeploy
'''
sh label:'test', script: '''#!/bin/bash
export JAVA_HOME=$JAVA17_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
cd kafka-connector
./gradlew test || true
'''
junit '**/build/**/*.xml'
}

pipeline{
agent {label 'devExpLinuxPool'}
options {
checkoutToSubdirectory 'kafka-connector'
buildDiscarder logRotator(artifactDaysToKeepStr: '7', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '')
}
environment{
JAVA_HOME_DIR="/home/builder/java/jdk-17.0.2"
JAVA17_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'){
stage('test-ML12'){
steps{
runtests("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:12.1.nightly-ubi-rootless")
}
post{
always{
updateWorkspacePermissions()
sh label:'mlcleanup', script: '''#!/bin/bash
cd kafka-connector
docker-compose down -v || true
'''
cleanupDocker()
}
}
}
stage('test-ML11'){
steps{
copyRPM 'Release','11.3.0'
setUpML '$WORKSPACE/xdmp/src/Mark*.rpm'
sh label:'setup', script: '''#!/bin/bash
cd kafka-connector/test-app
echo mlPassword=admin >> gradle-local.properties
'''
sh label:'deploy project', script: '''#!/bin/bash
export JAVA_HOME=$JAVA_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
cd kafka-connector
./gradlew hubInit
./gradlew mlDeploy -PmlPassword=admin
'''
sh label:'test', script: '''#!/bin/bash
export JAVA_HOME=$JAVA_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
cd kafka-connector
./gradlew test || true
'''
junit '**/build/**/*.xml'
runtests("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-11")
}
post{
always{
updateWorkspacePermissions()
sh label:'mlcleanup', script: '''#!/bin/bash
cd kafka-connector
docker-compose down -v || true
'''
cleanupDocker()
}
}
}
}
Expand Down
30 changes: 16 additions & 14 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -115,23 +115,25 @@ tasks.withType(JavaCompile) {

test {
useJUnitPlatform()
}

// Configures jacoco test coverage to be included when "test" is run
test {
finalizedBy jacocoTestReport
}
jacocoTestReport {
dependsOn test
}
// Enabling the XML report allows for sonar to grab coverage data from jacoco
jacocoTestReport {
reports {
// This isn't working with Gradle 8. Will replace this soon with the sonar instance in docker-compose.
// xml.enabled true
jacocoTestReport {
dependsOn test
reports {
xml.required = true
}
}
}

jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.0
}
}
}
}

}

shadowJar {
// Exclude DHF source files
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ services:
- MARKLOGIC_ADMIN_USERNAME=admin
- MARKLOGIC_ADMIN_PASSWORD=admin
volumes:
- ./docker/marklogic/logs:/var/opt/MarkLogic/Logs
- ${MARKLOGIC_LOGS_VOLUME}:/var/opt/MarkLogic/Logs
ports:
- "8000-8002:8000-8002"
- "8010-8013:8010-8013"
Expand Down