blob: 023596e07a5476c74fa55a63907e08f428d9ff6b [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
pipeline {
agent { label 'ubuntu' }
tools {
maven 'Maven 3 (latest)'
jdk 'JDK 1.8 (latest)'
}
options {
timeout(time: 120, unit: 'MINUTES')
}
stages {
stage ('Initialize') {
steps {
sh '''
echo "PATH = ${PATH}"
echo "M2_HOME = ${M2_HOME}"
'''
}
}
stage ('Build Usergrid-Java') {
steps {
git 'https://github.com/apache/usergrid-java.git'
sh '''
mvn clean install -DskipTests=true
'''
}
}
stage ('Start C* and ES') {
steps {
sh '''
mkdir -p temp
cd temp
rm -rf *
wget http://archive.apache.org/dist/cassandra/2.1.20/apache-cassandra-2.1.20-bin.tar.gz
tar -xvf apache-cassandra-2.1.20-bin.tar.gz
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz
tar -xvf elasticsearch-1.7.5.tar.gz
apache-cassandra-2.1.20/bin/cassandra
elasticsearch-1.7.5/bin/elasticsearch -d
cd ..
echo "Started C* and ES. Waiting 3 mins before starting tests ..."
sleep 180
'''
}
}
stage ('Build Usergrid Stack') {
steps {
git 'https://github.com/apache/usergrid.git'
sh '''
mvn clean install -f stack/pom.xml
'''
}
}
}
post {
always {
echo 'End of pipeline'
junit 'stack/**/surefire-reports/*.xml'
sh 'ps -ef | grep cassandra'
sh 'ps -ef | grep elastic'
deleteDir() /*clean up our workspace */
}
success {
echo 'Usergrid build and tests succeeded'
}
failure {
echo 'Usergrid build and/or tests failed'
}
}
}