2021-08-29 04:19:19 +00:00
|
|
|
pipeline {
|
2021-08-29 04:28:28 +00:00
|
|
|
//agent none
|
|
|
|
//agent any
|
2021-08-29 04:24:29 +00:00
|
|
|
agent { label 'vagrant' }
|
2021-08-29 04:19:19 +00:00
|
|
|
|
2021-08-29 04:28:28 +00:00
|
|
|
//environment {
|
|
|
|
// CC = 'gcc'
|
|
|
|
// BUILD_TYPE = 'xxxx'
|
|
|
|
//}
|
2021-08-29 04:19:19 +00:00
|
|
|
|
|
|
|
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"
|
2021-08-29 04:28:28 +00:00
|
|
|
// 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
|
2021-08-29 04:19:19 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
stage('Deploy') {
|
|
|
|
when {
|
|
|
|
expression {
|
|
|
|
currentBuild.result == null || currentBuild.result == 'SUCCESS'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
echo "Publishing the virtual machine built"
|
2021-08-29 04:28:28 +00:00
|
|
|
// TODO clean up before packaging
|
2021-08-29 04:19:19 +00:00
|
|
|
sh "make package"
|
2021-08-29 04:28:28 +00:00
|
|
|
// TODO copy the final artifacts to an artifact repository
|
|
|
|
// sh "make clean"
|
2021-08-29 04:19:19 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-08-29 04:24:29 +00:00
|
|
|
|
|
|
|
post {
|
|
|
|
success {
|
|
|
|
echo "SUCCESS!!!"
|
|
|
|
}
|
|
|
|
}
|
2021-08-29 04:19:19 +00:00
|
|
|
}
|