2018-05-10 12:41:50 +02:00
|
|
|
node('container') {
|
2019-01-27 01:16:15 +01:00
|
|
|
docker.image('selenium/standalone-chrome-debug:latest').pull()
|
|
|
|
docker.image('selenium/standalone-firefox-debug:latest').pull()
|
2018-11-13 16:57:20 +01:00
|
|
|
docker.image('selenium/standalone-chrome-debug:latest').withRun('-p 4444:4444 -p 5900:5900 --shm-size=1g -v /opt/openvidu:/opt/openvidu') { c ->
|
2018-08-31 15:39:03 +02:00
|
|
|
sh 'rm -rf /opt/openvidu/barcode.* && wget https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/barcode.y4m -P /opt/openvidu'
|
2019-02-25 15:19:04 +01:00
|
|
|
sh 'rm -rf /opt/openvidu/fakeaudio.* && wget https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/fakeaudio.wav -P /opt/openvidu'
|
2019-01-22 14:11:32 +01:00
|
|
|
docker.image('selenium/standalone-firefox-debug:latest').withRun('-p 4445:4444 -p 5901:5900 --shm-size=1g') { d ->
|
2019-02-14 14:56:15 +01:00
|
|
|
def mycontainer = docker.image('openvidu/openvidu-test-e2e:$DISTRO')
|
2017-12-07 00:43:35 +01:00
|
|
|
mycontainer.pull()
|
2018-08-31 10:24:33 +02:00
|
|
|
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") {
|
2018-05-21 16:21:38 +02:00
|
|
|
stage('Preparation') {
|
2019-02-08 11:06:09 +01:00
|
|
|
sh 'rm -rf ~/.m2 || true'
|
2018-05-21 16:21:38 +02:00
|
|
|
sh 'rm -rf openvidu || true'
|
2019-03-01 10:57:34 +01:00
|
|
|
sh 'rm -rf kurento-java || true'
|
2019-01-26 20:58:00 +01:00
|
|
|
sh 'rm -rf /opt/openvidu/recordings/* || true'
|
2018-05-21 16:21:38 +02:00
|
|
|
sh 'git clone https://github.com/OpenVidu/openvidu.git'
|
2019-03-23 14:43:53 +01:00
|
|
|
sh 'cd openvidu && git checkout $OPENVIDU_COMMIT'
|
2019-03-01 11:09:17 +01:00
|
|
|
sh(script: '''#!/bin/bash
|
2019-03-01 10:36:49 +01:00
|
|
|
if $KURENTO_JAVA_SNAPSHOT ; then
|
|
|
|
git clone https://github.com/Kurento/kurento-java.git
|
2019-03-22 14:34:28 +01:00
|
|
|
cd kurento-java && MVN_VERSION=$(mvn --batch-mode -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
|
2019-03-01 11:07:29 +01:00
|
|
|
cd ../openvidu && mvn --batch-mode versions:set-property -Dproperty=version.kurento -DnewVersion=$MVN_VERSION
|
2019-03-22 14:45:42 +01:00
|
|
|
mvn dependency:get -DrepoUrl=https://maven.openvidu.io/repository/snapshots/ -Dartifact=org.kurento:kurento-client:$MVN_VERSION
|
2019-03-22 14:51:14 +01:00
|
|
|
mvn dependency:get -DrepoUrl=https://maven.openvidu.io/repository/snapshots/ -Dartifact=org.kurento:kurento-jsonrpc-client-jetty:$MVN_VERSION
|
2019-03-22 14:45:42 +01:00
|
|
|
mvn dependency:get -DrepoUrl=https://maven.openvidu.io/repository/snapshots/ -Dartifact=org.kurento:kurento-jsonrpc-server:$MVN_VERSION
|
2019-03-01 10:36:49 +01:00
|
|
|
fi
|
2019-03-23 14:53:48 +01:00
|
|
|
'''.stripIndent())
|
|
|
|
sh(script: '''#!/bin/bash
|
|
|
|
if $KURENTO_MEDIA_SERVER_DEV ; then
|
|
|
|
sudo apt-get install --only-upgrade kurento-media-server
|
|
|
|
fi
|
2019-03-01 11:09:17 +01:00
|
|
|
'''.stripIndent())
|
2018-05-21 16:21:38 +02:00
|
|
|
}
|
|
|
|
stage('OpenVidu parent build') {
|
2019-02-14 17:30:12 +01:00
|
|
|
sh 'cd openvidu/openvidu-java-client && mvn --batch-mode versions:set -DnewVersion=1.0.0-TEST'
|
2019-02-24 19:11:05 +01:00
|
|
|
sh 'cd openvidu && mvn --batch-mode -DskipTests=true clean install'
|
2018-05-21 16:21:38 +02:00
|
|
|
}
|
|
|
|
stage('OpenVidu Browser build') {
|
|
|
|
sh 'cd openvidu/openvidu-browser && npm install --unsafe-perm && npm run build && npm link'
|
|
|
|
}
|
|
|
|
stage('OpenVidu Node Client build') {
|
|
|
|
sh 'cd openvidu/openvidu-node-client && npm install --unsafe-perm && npm run build && npm link'
|
|
|
|
}
|
|
|
|
stage('OpenVidu TestApp build') {
|
2019-02-11 10:49:22 +01:00
|
|
|
sh 'cd openvidu/openvidu-testapp && npm install --unsafe-perm && npm link openvidu-browser && npm link openvidu-node-client && ./node_modules/@angular/cli/bin/ng build --prod'
|
2018-05-21 16:21:38 +02:00
|
|
|
}
|
|
|
|
stage ('Environment Launch') {
|
|
|
|
sh 'openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -subj "/CN=www.mydom.com/O=My Company LTD./C=US" -keyout openvidu/openvidu-testapp/dist/key.pem -out openvidu/openvidu-testapp/dist/cert.pem'
|
|
|
|
sh 'cd openvidu/openvidu-testapp/dist && http-server -S -p 4200 &> ../testapp.log &'
|
2019-02-22 10:31:23 +01:00
|
|
|
sh 'sudo service kurento-media-server start'
|
2019-02-14 17:30:12 +01:00
|
|
|
sh 'cd openvidu/openvidu-server && mvn --batch-mode clean compile package'
|
2019-01-28 11:00:21 +01:00
|
|
|
sh 'cd openvidu/openvidu-server/target && java -jar -Dopenvidu.publicurl=https://172.17.0.1:4443/ -Dopenvidu.recording=true openvidu-server-*.jar &> openvidu-server.log &'
|
2019-02-11 10:44:43 +01:00
|
|
|
sh 'until $(curl --insecure --output /dev/null --silent --head --fail https://OPENVIDUAPP:MY_SECRET@localhost:4443/); do echo "Waiting for openvidu-server..."; sleep 2; done'
|
2018-05-21 16:21:38 +02:00
|
|
|
}
|
|
|
|
stage ('E2E tests') {
|
|
|
|
try {
|
2019-02-14 17:30:12 +01:00
|
|
|
sh 'cd openvidu/openvidu-test-e2e && sudo mvn --batch-mode -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'
|
2018-02-25 14:00:47 +01:00
|
|
|
}
|
2018-05-21 16:21:38 +02:00
|
|
|
finally {
|
|
|
|
junit "openvidu/openvidu-test-e2e/**/target/surefire-reports/TEST-*.xml"
|
|
|
|
}
|
2017-12-07 00:43:35 +01:00
|
|
|
}
|
|
|
|
}
|
2017-10-18 18:07:37 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|