openvidu/openvidu-test-e2e/jenkins/commonFunctions.groovy

126 lines
5.3 KiB
Groovy
Raw Normal View History

2021-10-26 10:58:29 +02:00
#!groovy
def prepareTestingEnvironment() {
println('Cleaning environment')
parallel (
'Deleting folder /opt/openvidu': {
sh 'sudo rm -rf /opt/openvidu/* || true'
},
'Deleting repository openvidu': {
sh 'sudo rm -rf openvidu || true'
},
'Deleting repository openvidu-pro': {
sh 'sudo rm -rf openvidu-pro || true'
},
'Deleting repository kurento-java': {
sh 'sudo rm -rf kurento-java || true'
},
'Deleting openvidu .m2 dependencies': {
sh 'sudo rm -rf /opt/openvidu-cache/.m2/repository/io/openvidu || true'
},
'Deleting kurento .m2 dependencies': {
sh 'sudo rm -rf /opt/openvidu-cache/.m2/repository/org/kurento || true'
},
'Removing stranded containers': {
removeStrandedContainers(true)
}
)
2021-10-26 10:58:29 +02:00
println('Pulling containers and downloading files')
2021-10-26 10:58:29 +02:00
parallel (
'Pull openvidu/openvidu-test-e2e': {
if (env.DISTRO) {
docker.image("openvidu/openvidu-test-e2e:${DISTRO}").pull()
}
2021-10-26 10:58:29 +02:00
},
'Pull openvidu/openvidu-pro-test-e2e': {
if (env.DISTRO) {
docker.image("openvidu/openvidu-pro-test-e2e:${DISTRO}").pull()
}
2021-10-26 10:58:29 +02:00
},
'Pull selenium/standalone-chrome': {
docker.image('selenium/standalone-chrome:latest').pull()
2021-10-26 10:58:29 +02:00
},
'Pull selenium/standalone-firefox': {
docker.image('selenium/standalone-firefox:latest').pull()
2021-10-26 10:58:29 +02:00
},
'Pull selenium/standalone-opera': {
docker.image('selenium/standalone-opera:latest').pull()
2021-10-26 10:58:29 +02:00
},
'Pull selenium/standalone-edge': {
docker.image('selenium/standalone-edge:latest').pull()
},
2021-10-26 10:58:29 +02:00
'Pull openvidu/mediasoup-controller': {
if (env.MEDIASOUP_CONTROLLER_VERSION) {
docker.image("openvidu/mediasoup-controller:${MEDIASOUP_CONTROLLER_VERSION}").pull()
}
},
'Pull kurento/kurento-media-server': {
if (env.KURENTO_MEDIA_SERVER_VERSION) {
docker.image("kurento/kurento-media-server:${KURENTO_MEDIA_SERVER_VERSION}").pull()
}
},
2021-10-26 10:58:29 +02:00
'Download fake video': {
sh(script: '''#!/bin/bash -xe
2021-10-26 10:58:29 +02:00
FAKE_VIDEO=/opt/openvidu-cache/barcode.y4m
if [ ! -f ${FAKE_VIDEO} ]; then
sudo curl --location https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/barcode.y4m --create-dirs --output /opt/openvidu-cache/barcode.y4m
2021-10-26 10:58:29 +02:00
else
echo "File ${FAKE_VIDEO} already exists"
2021-10-26 10:58:29 +02:00
fi
sudo cp /opt/openvidu-cache/barcode.y4m /opt/openvidu/barcode.y4m
'''.stripIndent())
2021-10-26 10:58:29 +02:00
},
'Download fake audio': {
sh(script: '''#!/bin/bash -xe
2021-10-26 10:58:29 +02:00
FAKE_AUDIO=/opt/openvidu-cache/fakeaudio.wav
if [ ! -f ${FAKE_AUDIO} ]; then
sudo curl --location https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/fakeaudio.wav --create-dirs --output /opt/openvidu-cache/fakeaudio.wav
2021-10-26 10:58:29 +02:00
else
echo "File ${FAKE_AUDIO} already exists"
2021-10-26 10:58:29 +02:00
fi
sudo cp /opt/openvidu-cache/barcode.y4m /opt/openvidu/fakeaudio.wav
'''.stripIndent())
2021-10-26 10:58:29 +02:00
},
'Download custom layout': {
sh 'sudo curl --location https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-test-e2e/docker/my-custom-layout/index.html --create-dirs --output /opt/openvidu-cache/test-layouts/layout1/index.html'
}
)
}
def removeStrandedContainers(removeTestingContainers) {
println('Removing stranded containers')
script {
env.removeTestingContainers = removeTestingContainers
sh(script: '''#!/bin/bash -xe
declare -a arr=("selenium/standalone-chrome:"
"selenium/standalone-firefox:"
"selenium/standalone-opera:"
"selenium/standalone-edge:"
"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 {} || true
done
docker ps -a
'''.stripIndent())
}
}
2021-10-26 10:58:29 +02:00
return this