Jenkinsfile updated with try-catchs

pull/559/head
pabloFuente 2020-11-10 20:51:33 +01:00
parent d4eac2c895
commit 339a894682
1 changed files with 146 additions and 106 deletions

View File

@ -11,6 +11,7 @@ node('container') {
def mycontainer = docker.image('openvidu/openvidu-test-e2e:$DISTRO') def mycontainer = docker.image('openvidu/openvidu-test-e2e:$DISTRO')
mycontainer.pull() mycontainer.pull()
mycontainer.inside('--name e2e -p 4200:4200 -p 4443:4443 -p 5555:5555 -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 --privileged') { mycontainer.inside('--name e2e -p 4200:4200 -p 4443:4443 -p 5555:5555 -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 --privileged') {
try {
stage('Preparation') { stage('Preparation') {
sh 'rm -rf ~/.m2 || true' sh 'rm -rf ~/.m2 || true'
sh 'rm -rf openvidu || true' sh 'rm -rf openvidu || true'
@ -39,6 +40,10 @@ node('container') {
fi fi
'''.stripIndent()) '''.stripIndent())
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu Browser build') { stage('OpenVidu Browser build') {
sh(script: '''#!/bin/bash sh(script: '''#!/bin/bash
cd openvidu cd openvidu
@ -52,6 +57,10 @@ node('container') {
git checkout -f $OPENVIDU_COMMIT git checkout -f $OPENVIDU_COMMIT
'''.stripIndent()) '''.stripIndent())
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu Node Client build') { stage('OpenVidu Node Client build') {
sh(script: '''#!/bin/bash sh(script: '''#!/bin/bash
cd openvidu cd openvidu
@ -65,6 +74,10 @@ node('container') {
git checkout -f $OPENVIDU_COMMIT git checkout -f $OPENVIDU_COMMIT
'''.stripIndent()) '''.stripIndent())
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu TestApp build') { stage('OpenVidu TestApp build') {
sh(script: '''#!/bin/bash sh(script: '''#!/bin/bash
cd openvidu cd openvidu
@ -80,6 +93,10 @@ node('container') {
git checkout -f $OPENVIDU_COMMIT git checkout -f $OPENVIDU_COMMIT
'''.stripIndent()) '''.stripIndent())
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu Java Client build') { stage('OpenVidu Java Client build') {
sh(script: '''#!/bin/bash sh(script: '''#!/bin/bash
cd openvidu cd openvidu
@ -93,16 +110,32 @@ node('container') {
git checkout -f $OPENVIDU_COMMIT git checkout -f $OPENVIDU_COMMIT
'''.stripIndent()) '''.stripIndent())
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu parent build') { stage('OpenVidu parent build') {
sh 'cd openvidu && mvn --batch-mode versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST' sh 'cd openvidu && mvn --batch-mode versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST'
sh 'cd openvidu && mvn --batch-mode -DskipTests=true clean install' sh 'cd openvidu && mvn --batch-mode -DskipTests=true clean install'
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu Server unit tests') { stage('OpenVidu Server unit tests') {
sh 'cd openvidu/openvidu-server && mvn --batch-mode -Dtest=io.openvidu.server.test.unit.*Test test' sh 'cd openvidu/openvidu-server && mvn --batch-mode -Dtest=io.openvidu.server.test.unit.*Test test'
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu Server integration tests') { stage('OpenVidu Server integration tests') {
sh 'cd openvidu/openvidu-server && mvn --batch-mode -Dtest=io.openvidu.server.test.integration.*Test test' sh 'cd openvidu/openvidu-server && mvn --batch-mode -Dtest=io.openvidu.server.test.integration.*Test test'
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage('OpenVidu Server build') { stage('OpenVidu Server build') {
sh(script: '''#!/bin/bash sh(script: '''#!/bin/bash
cd openvidu/openvidu-server/src/dashboard && npm install --unsafe-perm && npm install /opt/openvidu/openvidu-browser-*.tgz && export NG_CLI_ANALYTICS="false" && npm run build-prod cd openvidu/openvidu-server/src/dashboard && npm install --unsafe-perm && npm install /opt/openvidu/openvidu-browser-*.tgz && export NG_CLI_ANALYTICS="false" && npm run build-prod
@ -111,8 +144,12 @@ node('container') {
cp target/openvidu-server*.jar /opt/openvidu cp target/openvidu-server*.jar /opt/openvidu
'''.stripIndent()) '''.stripIndent())
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
try {
stage ('Environment Launch') { stage ('Environment Launch') {
sh 'sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -subj "/CN=www.mydom.com/O=My Company LTD./C=US" -keyout /opt/openvidu/testapp/key.pem -out /opt/openvidu/testapp/cert.pem' sh 'openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -subj "/CN=www.mydom.com/O=My Company LTD./C=US" -keyout /opt/openvidu/testapp/key.pem -out /opt/openvidu/testapp/cert.pem'
sh 'cd /opt/openvidu/testapp && http-server -S -p 4200 &> /opt/openvidu/testapp.log &' sh 'cd /opt/openvidu/testapp && http-server -S -p 4200 &> /opt/openvidu/testapp.log &'
sh '/usr/bin/kurento-media-server &> /kms.log &' sh '/usr/bin/kurento-media-server &> /kms.log &'
sh 'until $(curl --insecure --output /dev/null --silent http://127.0.0.1:8888/kurento); do echo "Waiting for KMS..."; sleep 1; done' sh 'until $(curl --insecure --output /dev/null --silent http://127.0.0.1:8888/kurento); do echo "Waiting for KMS..."; sleep 1; done'
@ -127,6 +164,9 @@ node('container') {
'''.stripIndent()) '''.stripIndent())
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' 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'
} }
} catch (error) {
currentBuild.result = 'FAILURE'
}
stage ('OpenVidu E2E tests') { stage ('OpenVidu E2E tests') {
try { try {
sh(script: '''#!/bin/bash sh(script: '''#!/bin/bash