node('container') { docker.image('selenium/standalone-chrome-debug:latest').withRun('-p 4444:4444 -p 5900:5900 --shm-size=1g -v /opt/openvidu:/opt/openvidu') { c -> sh 'wget https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/barcode.y4m -P /opt/openvidu' docker.image('elastest/eus-browser-firefox:3.7.1').withRun('-p 4445:4444 -p 5901:5900 --shm-size=1g') { d -> def mycontainer = docker.image('openvidu/openvidu-test-e2e:latest') mycontainer.pull() mycontainer.inside("-p 4200:4200 -p 4443:4443 -u root -e MY_UID=0 -v /var/run/docker.sock:/var/run/docker.sock:rw -v /dev/shm:/dev/shm -v /opt/openvidu:/opt/openvidu") { stage('Preparation') { sh 'rm -rf openvidu || true' sh 'rm -rf /opt/openvidu/recordings/{,.[!.]}* || true' sh 'rm -rf kurento-java || true' sh ''' for pkg in \ \'^(kms|kurento).*\' \ ffmpeg \ \'^gir1.2-gst.*1.5\' \ \'^(lib)?gstreamer.*1.5.*\' \ \'^lib(nice|s3-2|srtp|usrsctp).*\' \ \'^srtp-.*\' \ \'^openh264(-gst-plugins-bad-1.5)?\' \ \'^openwebrtc-gst-plugins.*\' \ \'^libboost-?(filesystem|log|program-options|regex|system|test|thread)?-dev\' \ \'^lib(glib2.0|glibmm-2.4|opencv|sigc++-2.0|soup2.4|ssl|tesseract|vpx)-dev\' \ uuid-dev do apt-get -y purge --auto-remove $pkg || true; done ''' sh 'sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83' sh 'sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null < ../testapp.log &' sh 'service kurento-media-server start' sh 'cd openvidu/openvidu-server && mvn -DskipTests=true clean -DskipTests=true compile -DskipTests=true package -DskipTests=true -Dopenvidu.publicurl=https://172.17.0.1:4443/ -Dopenvidu.recording=true exec:java &> openvidu-server.log &' sh 'until $(curl --insecure --output /dev/null --silent --head --fail https://OPENVIDUAPP:MY_SECRET@localhost:4443/); do echo "Waiting for openvidu-server..."; sleep 5; done' } stage ('E2E tests') { try { sh 'cd openvidu/openvidu-test-e2e && mvn -DAPP_URL=https://172.17.0.1:4200/ -DOPENVIDU_URL=https://172.17.0.1:4443/ -DREMOTE_URL_CHROME=http://172.17.0.1:4444/wd/hub/ -DREMOTE_URL_FIREFOX=http://172.17.0.1:4445/wd/hub/ test' } finally { junit "openvidu/openvidu-test-e2e/**/target/surefire-reports/TEST-*.xml" } } } } } }