forked from jenkinsci/kubernetes-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-in-k8s.sh
30 lines (30 loc) · 1.1 KB
/
test-in-k8s.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
set -euxo pipefail
kubectl get ns kubernetes-plugin-test || kubectl create ns kubernetes-plugin-test
kubectl get ns kubernetes-plugin-test-overridden-namespace || kubectl create ns kubernetes-plugin-test-overridden-namespace
kubectl config set-context --current --namespace=kubernetes-plugin-test
kubectl apply -f test-in-k8s.yaml
kubectl wait --for=condition=Ready --timeout=15m pod/jenkins
kubectl exec jenkins -- sh -c 'rm -rf /checkout && mkdir /checkout'
kubectl cp pom.xml jenkins:/checkout/pom.xml
kubectl cp src jenkins:/checkout/src
kubectl cp settings-azure.xml jenkins:/settings-azure.xml
if [ -v TEST ]
then
args="-Dtest=$TEST test"
else
args=verify
fi
kubectl exec jenkins -- \
mvn \
-B \
-ntp \
-s /settings-azure.xml \
-f /checkout \
-DconnectorHost=0.0.0.0 \
-Dport=8000 \
-DslaveAgentPort=50000 \
-Djenkins.host.address=jenkins.kubernetes-plugin-test.svc.cluster.local \
-Dmaven.test.failure.ignore \
$args
kubectl exec jenkins -- sh -c 'fgrep skipped /checkout/target/surefire-reports/*.xml' || :