Jenkinsfile: improved file download. .m2 folder mounted

pull/661/head
pabloFuente 2021-10-22 15:12:03 +02:00
parent 4450406aa7
commit 0dbeb14d7c
1 changed files with 43 additions and 21 deletions

View File

@ -3,13 +3,34 @@ node('container') {
sh 'rm -rf /opt/openvidu/* || true'
parallel (
'Download fake video': {
sh 'wget https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/barcode.y4m -P /opt/openvidu'
sh(script: '''#!/bin/bash -xe
FAKE_VIDEO=/opt/openvidu/barcode.y4m
if [ ! -f $FAKE_VIDEO ]; then
wget https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/barcode.y4m -O $FAKE_VIDEO
else
echo "File $FAKE_VIDEO already exists"
fi
'''.stripIndent())
},
'Download fake audio': {
sh 'wget https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/fakeaudio.wav -P /opt/openvidu'
sh(script: '''#!/bin/bash -xe
FAKE_AUDIO=/opt/openvidu/fakeaudio.wav
if [ ! -f $FAKE_AUDIO ]; then
wget https://github.com/OpenVidu/openvidu/raw/master/openvidu-test-e2e/docker/fakeaudio.wav -O $FAKE_AUDIO
else
echo "File $FAKE_AUDIO already exists"
fi
'''.stripIndent())
},
'Download custom layout': {
sh 'wget --directory-prefix=/opt/openvidu/test-layouts/layout1 https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-test-e2e/docker/my-custom-layout/index.html'
sh(script: '''#!/bin/bash -xe
CUSTOM_LAYOUT=/opt/openvidu/test-layouts/layout1/index.html
if [ ! -f $CUSTOM_LAYOUT ]; then
wget https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-test-e2e/docker/my-custom-layout/index.html -O $CUSTOM_LAYOUT
else
echo "File $CUSTOM_LAYOUT already exists"
fi
'''.stripIndent())
}
)
parallel (
@ -30,9 +51,10 @@ node('container') {
}
)
docker.image('openvidu/openvidu-test-e2e:$DISTRO').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') {
docker.image('openvidu/openvidu-test-e2e:$DISTRO').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 -v /opt/openvidu/.m2:/root/.m2 --privileged') {
stage('Preparation') {
sh 'rm -rf ~/.m2 || true'
sh 'rm -rf ~/.m2/repository/io/openvidu || true'
sh 'rm -rf ~/.m2/repository/org/kurento || true'
sh 'rm -rf openvidu || true'
sh 'rm -rf kurento-java || true'
sh 'git clone https://github.com/OpenVidu/openvidu.git'
@ -42,7 +64,7 @@ node('container') {
git clone https://github.com/Kurento/kurento-java.git
cd kurento-java
git checkout -f $KURENTO_JAVA_COMMIT
mvn -B -ntp clean install
mvn -B clean install
fi
'''.stripIndent())
sh(script: '''#!/bin/bash -xe
@ -82,9 +104,9 @@ node('container') {
stage('OpenVidu Java Client build') {
sh(script: '''#!/bin/bash -xe
cd openvidu/openvidu-java-client
mvn -B -ntp versions:set -DnewVersion=TEST
mvn -B -ntp clean compile package
mvn -B -ntp install:install-file -Dfile=target/openvidu-java-client-TEST.jar -DgroupId=io.openvidu -DartifactId=openvidu-java-client -Dversion=TEST -Dpackaging=jar
mvn -B versions:set -DnewVersion=TEST
mvn -B clean compile package
mvn -B install:install-file -Dfile=target/openvidu-java-client-TEST.jar -DgroupId=io.openvidu -DartifactId=openvidu-java-client -Dversion=TEST -Dpackaging=jar
'''.stripIndent())
}
}
@ -105,18 +127,18 @@ node('container') {
stage('OpenVidu parent build') {
sh(script: '''#!/bin/bash -xe
if [[ $KURENTO_JAVA_COMMIT != "default" ]]; then
cd kurento-java && MVN_VERSION=$(mvn -B -ntp -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
cd ../openvidu && mvn -B -ntp versions:set-property -Dproperty=version.kurento -DnewVersion=$MVN_VERSION
cd kurento-java && MVN_VERSION=$(mvn -B -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
cd ../openvidu && mvn -B versions:set-property -Dproperty=version.kurento -DnewVersion=$MVN_VERSION
fi
'''.stripIndent())
sh 'cd openvidu && mvn -B -ntp versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST'
sh 'cd openvidu && mvn -B -ntp -DskipTests=true clean install'
sh 'cd openvidu && mvn -B versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST'
sh 'cd openvidu && mvn -B -DskipTests=true clean install'
}
stage('OpenVidu Server unit tests') {
sh 'cd openvidu/openvidu-server && mvn -B -ntp -Dtest=io.openvidu.server.test.unit.*Test test'
sh 'cd openvidu/openvidu-server && mvn -B -Dtest=io.openvidu.server.test.unit.*Test test'
}
stage('OpenVidu Server integration tests') {
sh 'cd openvidu/openvidu-server && mvn -B -ntp -Dtest=io.openvidu.server.test.integration.*Test test'
sh 'cd openvidu/openvidu-server && mvn -B -Dtest=io.openvidu.server.test.integration.*Test test'
}
stage('OpenVidu Server build') {
sh(script: '''#!/bin/bash -xe
@ -125,7 +147,7 @@ node('container') {
npm install /opt/openvidu/openvidu-browser-*.tgz --quiet
export NG_CLI_ANALYTICS="false" && npm run build-prod --quiet
cd ../..
mvn -B -ntp package
mvn -B package
cp target/openvidu-server*.jar /opt/openvidu
'''.stripIndent())
}
@ -237,13 +259,13 @@ def openViduE2ETest(mediaServer) {
env.mediaServer = mediaServer
sh(script: '''#!/bin/bash -xe
cd openvidu/openvidu-test-browsers
mvn -B -ntp versions:set -DnewVersion=TEST && mvn -B -ntp clean install
mvn -B versions:set -DnewVersion=TEST && mvn -B clean install
cd ..
mvn -B -ntp versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST
mvn -B -ntp versions:set-property -Dproperty=version.openvidu.test.browsers -DnewVersion=TEST
mvn -B versions:set-property -Dproperty=version.openvidu.java.client -DnewVersion=TEST
mvn -B versions:set-property -Dproperty=version.openvidu.test.browsers -DnewVersion=TEST
cd openvidu-test-e2e
mvn -B -ntp -DskipTests=true clean install
sudo mvn -B -ntp -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
mvn -B -DskipTests=true clean install
sudo mvn -B -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
'''.stripIndent())
}
}