Skip to content

Instantly share code, notes, and snippets.

@kevinearls
Created December 5, 2017 10:41
Show Gist options
  • Save kevinearls/d95059848cb36bc6372ee28190ca3b7a to your computer and use it in GitHub Desktop.
Save kevinearls/d95059848cb36bc6372ee28190ca3b7a to your computer and use it in GitHub Desktop.
pipeline {
agent any
options {
disableConcurrentBuilds()
timeout(time: 1, unit: 'HOURS')
}
environment {
JAEGER_QUERY_HOST="jaeger-query"
JAEGER_AGENT_HOST="jaeger-agent"
JAEGER_COLLECTOR_HOST="jaeger-collector"
JAEGER_PORT_QUERY_HTTP=80
JAEGER_PORT_AGENT_ZIPKIN_THRIFT=5775
JAEGER_PORT_AGENT_COMPACT=6831
JAEGER_PORT_AGENT_BINARY=6832
JAEGER_PORT_ZIPKIN_COLLECTOR=14268
}
stages {
stage('all-in-one: clean environment') {
steps {
sh 'oc delete all,template,daemonset,configmap -l jaeger-infra'
}
}
stage('all-in-one: deploy Jaeger') {
steps {
git 'https://github.com/jaegertracing/jaeger-openshift.git'
sh 'oc process -f all-in-one/jaeger-all-in-one-template.yml | oc create -f -'
}
}
stage('all-in-one: verify services'){
steps{
openshiftVerifyService apiURL: '', authToken: '', namespace: '', svcName: 'jaeger-query', verbose: 'false'
openshiftVerifyService apiURL: '', authToken: '', namespace: '', svcName: 'jaeger-collector', verbose: 'false'
}
}
stage('all-in-one: functional test'){
steps{
withEnv(["JAVA_HOME=${ tool 'jdk8' }", "PATH+MAVEN=${tool 'maven-3.5.0'}/bin:${env.JAVA_HOME}/bin"]) {
sh '''
export USE_COLLECTOR_OR_AGENT=agent
rm ./jaeger-java-test -rf
git clone https://github.com/Hawkular-QE/jaeger-java-test.git
cd jaeger-java-test
mvn --version
ls -R
mvn clean test
'''
}
}
}
stage('all-in-one: delete all') {
steps {
sh 'oc delete all,template,daemonset,configmap -l jaeger-infra'
}
}
stage('production: deploy Cassandra') {
steps {
sh 'oc create -f production/cassandra.yml'
}
}
/* TODO if possible verify Cassandra deployment before proceeding */
stage('production: deploy Jaeger') {
steps {
sh 'oc process -f production/jaeger-production-template.yml | oc create -f -'
}
}
stage('production: verify Jaeger services'){
steps{
openshiftVerifyService apiURL: '', authToken: '', namespace: '', svcName: 'jaeger-collector', verbose: 'false'
openshiftVerifyService apiURL: '', authToken: '', namespace: '', svcName: 'jaeger-query', verbose: 'false'
}
}
stage('production: functional test'){
steps{
withEnv(["JAVA_HOME=${ tool 'jdk8' }", "PATH+MAVEN=${tool 'maven-3.5.0'}/bin:${env.JAVA_HOME}/bin"]) {
sh '''
export USE_COLLECTOR_OR_AGENT=collector
rm ./jaeger-java-test -rf
git clone https://github.com/Hawkular-QE/jaeger-java-test.git
cd jaeger-java-test
mvn --version
ls -R
mvn clean test
'''
}
}
}
stage('production: delete all') {
steps {
echo 'Skipping teardown do we can look at pods'
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment