ogdhcp/tests/API-dhcp/Jenkinsfile

54 lines
1.7 KiB
Groovy

pipeline {
agent {
node {
label 'jenkins-slave'
}
}
environment {
ESXI_PASS = credentials('VI_PASSWORD')
QINDEL_PASS = credentials('jenkins-user-slave-password')
PATH = "/home/qindel/bin/ovftool:${env.PATH}"
}
stages {
stage('Prepare environment') {
steps {
dir ('tests/API-dhcp') {
echo "Install vagrant plugin"
sh 'vagrant plugin install vagrant-vmware-esxi'
echo "Deploy API server for DHCP with Vagrant"
sh 'vagrant up --provider=vmware_esxi --provision'
}
}
}
stage('Check Installation') {
steps {
dir ('tests/API-dhcp') {
echo "Get IP of API server for DHCP with Vagrant"
sh '''
set -e
new_ip=$(vagrant ssh -c "ip a | grep inet | grep eth0 | awk \'{print $2}\' | cut -d/ -f1")
echo "$new_ip test-api" | sudo -S tee -a /etc/hosts <<<$QINDEL_PASS
echo "IP: $new_ip"
curl -L -X 'GET' -H 'accept: application/json' "http://api-test/opengnsys3/rest/dhcp/subnets/"
'''
}
}
}
stage ('Run API tests') {
steps {
echo 'Running API tests'
}
}
stage('Clean up') {
steps {
dir ('tests/API-dhcp') {
echo "Destroy API server for DHCP with Vagrant"
// sh 'vagrant destroy -f'
}
}
}
}
}