pipeline { //agent none //agent any agent { label 'vagrant' } //environment { // CC = 'gcc' // BUILD_TYPE = 'xxxx' //} stages { stage('Build') { steps { echo "Building a virtual machine - ${env.BUILD_ID} on ${env.JENKINS_URL}" sh "make init && make up" } } stage('Test') { steps { echo "Testing the virtual machine built" // TODO run the internal test script to check the internal aspect of the machine // TODO run the external test scripts to test the machine over the network } } stage('Deploy') { when { expression { currentBuild.result == null || currentBuild.result == 'SUCCESS' } } steps { echo "Publishing the virtual machine built" // TODO clean up before packaging sh "make package" // TODO copy the final artifacts to an artifact repository // sh "make clean" } } } post { success { echo "SUCCESS!!!" } } }