From ef88b86e01e135838bcec32af1016aaffe334f4f Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Tue, 2 Nov 2021 14:26:46 +0100 Subject: [PATCH] Jenkinsfile: improved removeStrandedContainers --- openvidu-test-e2e/jenkins/Jenkinsfile | 1 + .../jenkins/commonFunctions.groovy | 58 ++++++++++--------- 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/openvidu-test-e2e/jenkins/Jenkinsfile b/openvidu-test-e2e/jenkins/Jenkinsfile index 70e4083f..8fc6733e 100644 --- a/openvidu-test-e2e/jenkins/Jenkinsfile +++ b/openvidu-test-e2e/jenkins/Jenkinsfile @@ -165,6 +165,7 @@ node('container') { currentBuild.result = 'FAILURE' } finally { environmentStop() + commonFunctions.removeStrandedContainers(false) } } } diff --git a/openvidu-test-e2e/jenkins/commonFunctions.groovy b/openvidu-test-e2e/jenkins/commonFunctions.groovy index dd92ab29..86ac183b 100644 --- a/openvidu-test-e2e/jenkins/commonFunctions.groovy +++ b/openvidu-test-e2e/jenkins/commonFunctions.groovy @@ -21,7 +21,7 @@ def prepareTestingEnvironment() { sh 'sudo rm -rf /opt/openvidu-cache/.m2/repository/org/kurento || true' }, 'Removing stranded containers': { - removeStrandedContainers() + removeStrandedContainers(true) } ) @@ -84,32 +84,38 @@ def prepareTestingEnvironment() { ) } -def removeStrandedContainers() { +def removeStrandedContainers(removeTestingContainers) { println('Removing stranded containers') - sh(script: '''#!/bin/bash -xe - declare -a arr=("openvidu/openvidu-test-e2e:" - "openvidu/openvidu-pro-test-e2e:" - "selenium/standalone-chrome:" - "selenium/standalone-firefox:" - "selenium/standalone-opera:" - "openvidu/mediasoup-controller:" - "openvidu/openvidu-server-pro:" - "openvidu/openvidu-redis:" - "openvidu/openvidu-coturn:" - "openvidu/openvidu-proxy:" - "openvidu/replication-manager:" - "docker.elastic.co/elasticsearch/elasticsearch:" - "docker.elastic.co/kibana/kibana:" - "docker.elastic.co/beats/metricbeat-oss:" - "docker.elastic.co/beats/filebeat-oss:" - "openvidu/openvidu-pro-dind-media-node:" - "kurento/kurento-media-server:" - "openvidu/media-node-controller:") - for image in "${arr[@]}" - do - docker ps -a | awk '{ print $1,$2 }' | grep "${image}" | awk '{ print $1 }' | xargs -I {} docker rm -f {} - done - '''.stripIndent()) + script { + env.removeTestingContainers = removeTestingContainers + sh(script: '''#!/bin/bash -xe + declare -a arr=("selenium/standalone-chrome:" + "selenium/standalone-firefox:" + "selenium/standalone-opera:" + "openvidu/mediasoup-controller:" + "openvidu/openvidu-server-pro:" + "openvidu/openvidu-redis:" + "openvidu/openvidu-coturn:" + "openvidu/openvidu-proxy:" + "openvidu/replication-manager:" + "docker.elastic.co/elasticsearch/elasticsearch:" + "docker.elastic.co/kibana/kibana:" + "docker.elastic.co/beats/metricbeat-oss:" + "docker.elastic.co/beats/filebeat-oss:" + "openvidu/openvidu-pro-dind-media-node:" + "kurento/kurento-media-server:" + "openvidu/media-node-controller:") + if [ "${removeTestingContainers}" == "true" ]; then + arr+=("openvidu/openvidu-test-e2e:") + arr+=("openvidu/openvidu-pro-test-e2e:") + fi + for image in "${arr[@]}" + do + docker ps -a | awk '{ print $1,$2 }' | grep "${image}" | awk '{ print $1 }' | xargs -I {} docker rm -f {} + done + docker ps -a + '''.stripIndent()) + } } return this