diff --git a/openvidu-test-e2e/jenkins/Jenkinsfile b/openvidu-test-e2e/jenkins/Jenkinsfile index 7e676ff1..79181f72 100644 --- a/openvidu-test-e2e/jenkins/Jenkinsfile +++ b/openvidu-test-e2e/jenkins/Jenkinsfile @@ -130,19 +130,41 @@ node('container') { docker.image('selenium/standalone-chrome:latest').withRun('-p 6666:4444 --name chrome --shm-size=1g -v /opt/openvidu:/opt/openvidu') { a -> docker.image('selenium/standalone-firefox:latest').withRun('-p 6667:4444 --name firefox --shm-size=1g') { b -> docker.image('selenium/standalone-opera:latest').withRun('-p 6668:4444 --name opera --shm-size=1g') { c -> + // ----- + // Kurento TESTS + // ----- stage ('Environment Launch Kurento') { environmentLaunch('kurento') } - stage ('OpenVidu Kurento E2E tests') { - openViduE2ETest('kurento') + try { + stage ('OpenVidu Kurento E2E tests') { + openViduE2ETest('kurento') + } + } catch (error) { + echo "Test failed" + currentBuild.result = 'FAILURE' + } finally { + // Kill all environment for next test environmentStop() } + + // ---- + // Mediasoup TESTS + // ---- stage ('Environment Launch Mediasoup') { environmentLaunch('mediasoup') } - stage ('OpenVidu Mediasoup E2E tests') { - openViduE2ETest('mediasoup') + try { + stage ('OpenVidu Mediasoup E2E tests') { + openViduE2ETest('mediasoup') + } + } catch (error) { + echo "Test failed" + currentBuild.result = 'FAILURE' + } finally { environmentStop() + junit 'openvidu/openvidu-test-e2e/**/target/surefire-reports/TEST-*.xml' + archiveArtifacts artifacts: '**/openvidu-server.log' } } } @@ -175,10 +197,10 @@ def environmentLaunch(mediaServer) { until $(curl --insecure --output /dev/null --silent http://${KMS_IP}:8888/kurento); do echo "Waiting for ${mediaServer}..."; sleep 1; done if [ "$DOCKER_RECORDING_VERSION" != "default" ]; then echo "Using custom openvidu-recording tag: $DOCKER_RECORDING_VERSION" - java -jar -DKMS_URIS=[\\"ws://${KMS_IP}:8888/kurento\\"] -DDOMAIN_OR_PUBLIC_IP=172.17.0.1 -DOPENVIDU_SECRET=MY_SECRET -DHTTPS_PORT=4443 -DOPENVIDU_RECORDING=true -DOPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/test-layouts -DOPENVIDU_RECORDING_VERSION=$DOCKER_RECORDING_VERSION -DOPENVIDU_WEBHOOK=true -DOPENVIDU_WEBHOOK_ENDPOINT=http://127.0.0.1:7777/webhook /opt/openvidu/openvidu-server-*.jar &> openvidu-server.log & + java -jar -DKMS_URIS=[\\"ws://${KMS_IP}:8888/kurento\\"] -DDOMAIN_OR_PUBLIC_IP=172.17.0.1 -DOPENVIDU_SECRET=MY_SECRET -DHTTPS_PORT=4443 -DOPENVIDU_RECORDING=true -DOPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/test-layouts -DOPENVIDU_RECORDING_VERSION=$DOCKER_RECORDING_VERSION -DOPENVIDU_WEBHOOK=true -DOPENVIDU_WEBHOOK_ENDPOINT=http://127.0.0.1:7777/webhook /opt/openvidu/openvidu-server-*.jar &> openvidu-server-${mediaServer}.log & else echo "Using default openvidu-recording tag" - java -jar -DKMS_URIS=[\\"ws://${KMS_IP}:8888/kurento\\"] -DDOMAIN_OR_PUBLIC_IP=172.17.0.1 -DOPENVIDU_SECRET=MY_SECRET -DHTTPS_PORT=4443 -DOPENVIDU_RECORDING=true -DOPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/test-layouts -DOPENVIDU_WEBHOOK=true -DOPENVIDU_WEBHOOK_ENDPOINT=http://127.0.0.1:7777/webhook /opt/openvidu/openvidu-server-*.jar &> openvidu-server.log & + java -jar -DKMS_URIS=[\\"ws://${KMS_IP}:8888/kurento\\"] -DDOMAIN_OR_PUBLIC_IP=172.17.0.1 -DOPENVIDU_SECRET=MY_SECRET -DHTTPS_PORT=4443 -DOPENVIDU_RECORDING=true -DOPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/test-layouts -DOPENVIDU_WEBHOOK=true -DOPENVIDU_WEBHOOK_ENDPOINT=http://127.0.0.1:7777/webhook /opt/openvidu/openvidu-server-*.jar &> openvidu-server-${mediaServer}.log & fi '''.stripIndent()) } @@ -194,28 +216,20 @@ def environmentStop() { def openViduE2ETest(mediaServer) { script { env.mediaServer = mediaServer - try { - sh(script: '''#!/bin/bash -xe - cd openvidu - if [[ $OPENVIDU_TESTE2E_COMMIT != "default" ]]; then - git checkout -f $OPENVIDU_TESTE2E_COMMIT - fi - cd openvidu-test-browsers - mvn --batch-mode versions:set -DnewVersion=TEST && mvn clean install - cd .. - mvn --batch-mode versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST - mvn --batch-mode versions:set-property -Dproperty=version.openvidu.test.browsers -DnewVersion=TEST - cd openvidu-test-e2e - mvn -DskipTests=true clean install - sudo mvn --batch-mode -DMEDIA_SERVER=${mediaServer} -Dtest=OpenViduTestAppE2eTest -DAPP_URL=https://172.17.0.1:4200/ -DOPENVIDU_URL=https://172.17.0.1:4443/ -DREMOTE_URL_CHROME=http://172.17.0.1:6666/wd/hub/ -DREMOTE_URL_FIREFOX=http://172.17.0.1:6667/wd/hub/ -DREMOTE_URL_OPERA=http://172.17.0.1:6668/wd/hub/ -DEXTERNAL_CUSTOM_LAYOUT_URL=http://172.17.0.1:5555 -DEXTERNAL_CUSTOM_LAYOUT_PARAMS=sessionId,CUSTOM_LAYOUT_SESSION,secret,MY_SECRET test - git checkout -f $OPENVIDU_COMMIT - '''.stripIndent()) - } catch (err) { - echo "Test failed" - currentBuild.result = 'FAILURE' - } finally { - junit 'openvidu/openvidu-test-e2e/**/target/surefire-reports/TEST-*.xml' - archiveArtifacts artifacts: '**/openvidu-server.log' - } + sh(script: '''#!/bin/bash -xe + cd openvidu + if [[ $OPENVIDU_TESTE2E_COMMIT != "default" ]]; then + git checkout -f $OPENVIDU_TESTE2E_COMMIT + fi + cd openvidu-test-browsers + mvn --batch-mode versions:set -DnewVersion=TEST && mvn clean install + cd .. + mvn --batch-mode versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST + mvn --batch-mode versions:set-property -Dproperty=version.openvidu.test.browsers -DnewVersion=TEST + cd openvidu-test-e2e + mvn -DskipTests=true clean install + sudo mvn --batch-mode -DMEDIA_SERVER=${mediaServer} -Dtest=OpenViduTestAppE2eTest -DAPP_URL=https://172.17.0.1:4200/ -DOPENVIDU_URL=https://172.17.0.1:4443/ -DREMOTE_URL_CHROME=http://172.17.0.1:6666/wd/hub/ -DREMOTE_URL_FIREFOX=http://172.17.0.1:6667/wd/hub/ -DREMOTE_URL_OPERA=http://172.17.0.1:6668/wd/hub/ -DEXTERNAL_CUSTOM_LAYOUT_URL=http://172.17.0.1:5555 -DEXTERNAL_CUSTOM_LAYOUT_PARAMS=sessionId,CUSTOM_LAYOUT_SESSION,secret,MY_SECRET test + git checkout -f $OPENVIDU_COMMIT + '''.stripIndent()) } }