println("Waiting for VM at ${IP_ADDRESS} to be reachable")
alive = false
- while (!alive) {
- output = sh(returnStdout: true, script: "sleep 1 ; nc -zv ${IP_ADDRESS} 22 2>&1 || true").trim()
- println("output is [$output]")
- alive = output.contains('succeeded')
+ timeout(time: 1, unit: 'MINUTES') {
+ while (!alive) {
+ output = sh(
+ returnStatus: true,
+ script: "ssh -T -i ${SSH_KEY} " +
+ "-o StrictHostKeyChecking=no " +
+ "-o UserKnownHostsFile=/dev/null " +
+ "-o ConnectTimeout=5 ubuntu@${IP_ADDRESS} 'echo Alive'")
+ alive = (output == 0)
+ }
}
println('VM is ready and accepting ssh connections')
} // stage("Spawn Remote VM")
stage('Publish to Dockerhub') {
parallelSteps = [:]
for (buildStep in containerList) {
- module = buildStep
- moduleName = buildStep.toLowerCase()
- dockerTag = params.DOCKER_TAG
- moduleTag = containerName
+ def module = buildStep
+ def moduleName = buildStep.toLowerCase()
+ def dockerTag = params.DOCKER_TAG
+ def moduleTag = containerName
parallelSteps[module] = {
dir("$module") {