Skip to content

Commit aa6b1b9

Browse files
DEVO-860 new jenkins (#169)
* expand jira id matching * update git credentials * fix jira id matching * update docker repo * switch to nightly docker images * Switch to new internal docker repo * Update docker version handling * disable minikube emoji * update resource requirements * update minikube config scope * test use of dedicated kubeconfig
1 parent 106baca commit aa6b1b9

File tree

4 files changed

+34
-29
lines changed

4 files changed

+34
-29
lines changed

Jenkinsfile

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
import groovy.json.JsonSlurperClassic
77

88
9-
gitCredID = '550650ab-ee92-4d31-a3f4-91a11d5388a3'
9+
gitCredID = 'marklogic-builder'
1010
JIRA_ID = ''
11-
JIRA_ID_PATTERN = /CLD-\d{3,4}/
11+
JIRA_ID_PATTERN = /(?i)(CLD|DEVO|QAINF|BUG|DBI)-\d{3,4}/
1212
LINT_OUTPUT = ''
1313
SCAN_OUTPUT = ''
1414
IMAGE_INFO = 0
@@ -31,7 +31,7 @@ void preBuildCheck() {
3131
if (env.CHANGE_ID) {
3232
if (prDraftCheck()) { sh 'exit 1' }
3333
if (getReviewState().equalsIgnoreCase('CHANGES_REQUESTED')) {
34-
println(reviewState)
34+
echo 'PR changes requested. (' + reviewState + ') Aborting.'
3535
sh 'exit 1'
3636
}
3737
}
@@ -51,11 +51,11 @@ def extractJiraID() {
5151
match = env.GIT_BRANCH =~ JIRA_ID_PATTERN
5252
}
5353
else {
54-
echo 'Warning: Jira ticket number not detected.'
54+
echo 'Warning: No Git title or branch available.'
5555
return ''
5656
}
5757
try {
58-
return match[0]
58+
return match[0][0]
5959
} catch (any) {
6060
echo 'Warning: Jira ticket number not detected.'
6161
return ''
@@ -131,7 +131,7 @@ void publishTestResults() {
131131
}
132132

133133
void pullImage() {
134-
withCredentials([usernamePassword(credentialsId: '8c2e0b38-9e97-4953-aa60-f2851bb70cc8', passwordVariable: 'docker_password', usernameVariable: 'docker_user')]) {
134+
withCredentials([usernamePassword(credentialsId: 'builder-credentials-artifactory', passwordVariable: 'docker_password', usernameVariable: 'docker_user')]) {
135135
sh """
136136
echo "\$docker_password" | docker login --username \$docker_user --password-stdin ${dockerRegistry}
137137
docker pull ${dockerRepository}:${dockerVersion}
@@ -167,8 +167,9 @@ pipeline {
167167
parameterizedCron( env.BRANCH_NAME == 'develop' ? '''00 04 * * *''' : '')
168168
}
169169
environment {
170-
timeStamp = sh(returnStdout: true, script: "date +%Y%m%d -d '-5 hours'").trim()
171-
dockerRegistry = 'ml-docker-dev.marklogic.com'
170+
//timeStamp = sh(returnStdout: true, script: "date +%Y%m%d -d '-5 hours'").trim()
171+
timeStamp = 'nightly'
172+
dockerRegistry = 'ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com'
172173
dockerRepository = "${dockerRegistry}/marklogic/marklogic-server-centos"
173174
dockerVerDivider = getVersionDiv(params.ML_VERSION)
174175
prevDockerVerDivider = getVersionDiv(params.PREV_ML_VERSION)
@@ -178,11 +179,11 @@ pipeline {
178179

179180
parameters {
180181
string(name: 'emailList', defaultValue: emailList, description: 'List of email for build notification', trim: true)
181-
choice(name: 'ML_VERSION', choices: '11.2\n12.0\n10.0\n9.0', description: 'MarkLogic version. used to pick appropriate docker image')
182+
choice(name: 'ML_VERSION', choices: '11.2\n12.0\n10.0', description: 'MarkLogic version. used to pick appropriate docker image')
182183
booleanParam(name: 'KUBERNETES_TESTS', defaultValue: true, description: 'Run kubernetes tests')
183184
booleanParam(name: 'HC_TESTS', defaultValue: false, description: 'Run Hub Central E2E UI tests (takes about 3 hours)')
184185
string(name: 'dockerReleaseVer', defaultValue: '1.1.1', description: 'Current Docker version. (e.g. 1.0.1)', trim: true)
185-
choice(name: 'PREV_ML_VERSION', choices: '10.0\n9.0', description: 'Previous MarkLogic version for MarkLogic upgrade tests')
186+
choice(name: 'PREV_ML_VERSION', choices: '10.0\n9.0\n11.2', description: 'Previous MarkLogic version for MarkLogic upgrade tests')
186187
string(name: 'prevDockerReleaseVer', defaultValue: '1.1.1', description: 'Previous Docker version for MarkLogic upgrade tests. (e.g. 1.0.1)', trim: true)
187188
choice(name: 'K8_VERSION', choices: 'v1.25.8\nv1.26.3\nv1.24.12\nv1.23.17', description: 'Test Kubernetes version. (e.g. v1.25.8)')
188189
}
@@ -212,8 +213,7 @@ pipeline {
212213
}
213214
steps {
214215
sh """
215-
export MINIKUBE_HOME=/space
216-
make test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true
216+
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; make test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true
217217
"""
218218
}
219219
}
@@ -223,8 +223,7 @@ pipeline {
223223
}
224224
steps {
225225
sh """
226-
export MINIKUBE_HOME=/space;
227-
make hc-test dockerImage=${dockerRepository}:${dockerVersion} kubernetesVersion=${params.K8_VERSION}
226+
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; make hc-test dockerImage=${dockerRepository}:${dockerVersion} kubernetesVersion=${params.K8_VERSION}
228227
"""
229228
}
230229
}
@@ -237,7 +236,7 @@ pipeline {
237236
docker system prune --force --filter "until=720h"
238237
docker volume prune --force
239238
docker image prune --force --all
240-
export MINIKUBE_HOME=/space; minikube delete --all --purge
239+
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; minikube delete --all --purge
241240
'''
242241
sh "rm -rf $WORKSPACE/test/test_results/"
243242
}

makefile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
dockerImage?=ml-docker-dev.marklogic.com/marklogic/marklogic-server-centos:11.1.20230522-centos-1.0.2
2-
prevDockerImage?=ml-docker-dev.marklogic.com/marklogic/marklogic-server-centos:10.0-20230522-centos-1.0.2
1+
dockerImage?=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos:11.1.20230522-centos-1.0.2
2+
prevDockerImage?=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos:10.0-20230522-centos-1.0.2
33
kubernetesVersion?=v1.25.8
44
## System requirement:
55
## - Go
@@ -90,7 +90,8 @@ e2e-test: prepare
9090
minikube delete
9191

9292
@echo "=====Installing minikube cluster"
93-
minikube start --driver=docker --kubernetes-version=$(kubernetesVersion) -n=1 --cpus 2 --memory 10000
93+
minikube start --driver=docker --kubernetes-version=$(kubernetesVersion) -n=1 --memory=16000mb --cpus=2
94+
9495

9596
@echo "=====Loading marklogc image $(dockerImage) to minikube cluster"
9697
minikube image load $(dockerImage)
@@ -115,7 +116,8 @@ hc-test:
115116
minikube delete
116117

117118
@echo "=====Installing minikube cluster"
118-
minikube start --driver=docker --kubernetes-version=$(kubernetesVersion) -n=1 --cpus 2 --memory 10000
119+
minikube start --driver=docker --kubernetes-version=$(kubernetesVersion) -n=1 --memory=16000mb --cpus=2
120+
119121

120122
@echo "=====Loading marklogc image $(dockerImage) to minikube cluster"
121123
minikube image load $(dockerImage)

test/e2e/admin_secrets_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ func TestMlAdminSecrets(t *testing.T) {
2222
imageTag, tagPres := os.LookupEnv("dockerVersion")
2323

2424
if !repoPres {
25-
imageRepo = "ml-docker-dev.marklogic.com/marklogic/marklogic-server-centos"
25+
imageRepo = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos"
2626
t.Logf("No imageRepo variable present, setting to default value: " + imageRepo)
2727
}
2828

2929
if !tagPres {
30-
imageTag = "11.0.20230307-centos-1.0.2"
30+
imageTag = "11.0.nightly-centos-1.0.2"
3131
t.Logf("No imageTag variable present, setting to default value: " + imageTag)
3232
}
3333

test/e2e/upgrade_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"io/ioutil"
77
"os"
88
"path/filepath"
9+
"regexp"
910
"strings"
1011
"testing"
1112
"time"
@@ -29,12 +30,12 @@ func TestHelmUpgrade(t *testing.T) {
2930
imageTag, tagPres := os.LookupEnv("dockerVersion")
3031

3132
if !repoPres {
32-
imageRepo = "ml-docker-dev.marklogic.com/marklogic/marklogic-server-centos"
33+
imageRepo = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos"
3334
t.Logf("No imageRepo variable present, setting to default value: " + imageRepo)
3435
}
3536

3637
if !tagPres {
37-
imageTag = "11.0.20230307-centos-1.0.2"
38+
imageTag = "11.0.nightly-centos-1.0.2"
3839
t.Logf("No imageTag variable present, setting to default value: " + imageTag)
3940
}
4041

@@ -121,15 +122,15 @@ func TestMLupgrade(t *testing.T) {
121122
prevImageTag, prevTagPres := os.LookupEnv("dockerVersion")
122123

123124
if !repoPres {
124-
imageRepo = "ml-docker-dev.marklogic.com/marklogic/marklogic-server-centos"
125+
imageRepo = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos"
125126
t.Logf("No imageRepo variable present, setting to default value: " + imageRepo)
126127
}
127128
if !tagPres {
128-
imageTag = "11.0.20230307-centos-1.0.2"
129+
imageTag = "11.0.nightly-centos-1.0.2"
129130
t.Logf("No imageTag variable present, setting to default value: " + imageTag)
130131
}
131132
if !prevTagPres {
132-
prevImageTag = "10.0-20230307-centos-1.0.2"
133+
prevImageTag = "10.0-nightly-centos-1.0.2"
133134
t.Logf("No imageTag variable present, setting to default value: " + prevImageTag)
134135
}
135136

@@ -205,8 +206,11 @@ func TestMLupgrade(t *testing.T) {
205206
if err != nil {
206207
t.Fatalf(err.Error())
207208
}
208-
mlVersion := gjson.Get(string(body), `local-cluster-default.version`)
209-
expectedMlVersion := strings.Split(imageTag, "-centos")[0]
209+
mlVersionPattern := regexp.MustCompile(`(\d+\.\d+)`)
210+
mlVersionResp := gjson.Get(string(body), `local-cluster-default.version`)
211+
actualMlVersion := mlVersionPattern.FindStringSubmatch(mlVersionResp.Str)
212+
expectedMlVersion := mlVersionPattern.FindStringSubmatch(imageTag)
213+
//expectedMlVersion := strings.Split(imageTag, "-centos")[0]
210214
// verify latest MarkLogic version after upgrade
211-
assert.Equal(t, mlVersion.Str, expectedMlVersion)
215+
assert.Equal(t, actualMlVersion, expectedMlVersion)
212216
}

0 commit comments

Comments
 (0)