diff --git a/.travis.settings.xml b/.travis.settings.xml
index 3c61da4f43..e60b0e0c4c 100644
--- a/.travis.settings.xml
+++ b/.travis.settings.xml
@@ -44,6 +44,11 @@
${env.DOCKERHUB_USERNAME}
${env.DOCKERHUB_PASSWORD}
+
+ quay.io
+ ${env.QUAY_USERNAME}
+ ${env.QUAY_PASSWORD}
+
alfresco-internal
${env.MAVEN_USERNAME}
@@ -54,5 +59,10 @@
${env.MAVEN_USERNAME}
${env.MAVEN_PASSWORD}
+
+ alfresco-internal-snapshots
+ ${env.MAVEN_USERNAME}
+ ${env.MAVEN_PASSWORD}
+
diff --git a/.travis.yml b/.travis.yml
index ae2b234671..5ca06b560a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,16 +4,20 @@ language: java
jdk:
- openjdk11
+services:
+ - docker
+
branches:
only:
- - /release\/V2.7.*/
- - /feature-2.7\/.*/
- - /merge-2.7\/.*/
- - /hotfix-2.7\/.*/
+ - /release\/V3.\d+.*/
+ - /feature-3.\d+\/.*/
+ - /merge-3.\d+\/.*/
+ - /hotfix-3.\d+\/.*/
cache:
directories:
- $HOME/.m2
+
# the cache can grow constantly
before_cache:
- rm -rf $HOME/.m2/repository/org/alfresco/alfresco-rm*
@@ -32,18 +36,27 @@ stages:
jobs:
include:
- - name: "Build Community"
+ - name: "Build AGS Community"
stage: Build AGS
+ before_script: source scripts/setUpMavenPhase.sh
script:
- - echo "Build Community"
- - name: "Build Enterprise"
+ - travis_retry travis_wait 100 mvn -B -q clean ${MAVEN_PHASE} -P${BUILD_PROFILE} -Dimage.tag=${IMAGE_TAG} -Dskip.integrationtests=false -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+ - name: "Build AGS Enterprise"
stage: Build AGS
+ before_script: source scripts/setUpMavenPhase.sh
+ install:
+ - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
script:
- - echo "Build Enterprise"
- - name: "Benchmark"
+ - travis_retry travis_wait 60 mvn -B -q ${MAVEN_PHASE} -P${BUILD_PROFILE} -Dimage.tag=${IMAGE_TAG} -Dskip.integrationtests=false -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+ - name: "Build AGS Benchmark"
stage: Build AGS
+ before_script: source scripts/setUpMavenPhase.sh
+ install:
+ - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
script:
- - echo "Benchmark"
+ - travis_retry travis_wait 35 mvn -B -q ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
- name: "Community Integrations Tests on MySQL"
stage: Tests
diff --git a/rm-community/rm-community-repo/pom.xml b/rm-community/rm-community-repo/pom.xml
index f217f48b8f..42952c5b6f 100644
--- a/rm-community/rm-community-repo/pom.xml
+++ b/rm-community/rm-community-repo/pom.xml
@@ -165,6 +165,7 @@
start
pre-integration-test
+ stop
start
diff --git a/scripts/setUpMavenPhase.sh b/scripts/setUpMavenPhase.sh
new file mode 100644
index 0000000000..688f019df8
--- /dev/null
+++ b/scripts/setUpMavenPhase.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+echo "Branch name: ${TRAVIS_BRANCH}"
+echo "Pull request: ${TRAVIS_PULL_REQUEST}"
+echo "Travis job name: ${TRAVIS_JOB_NAME}"
+branchName=${TRAVIS_BRANCH}
+imageTag=${branchName:8}
+echo "Image tag: ${imageTag}"
+
+ if [[ ${TRAVIS_JOB_NAME} == "Build AGS Enterprise" ]];
+ then
+ export BUILD_PROFILE="internal"
+ else
+ export BUILD_PROFILE="master"
+ fi
+
+ if [[ "${TRAVIS_BRANCH}" == "master" && "${TRAVIS_PULL_REQUEST}" == "false" ]];
+ then
+ export MAVEN_PHASE="deploy"
+ export IMAGE_TAG="latest"
+ elif [[ ${TRAVIS_BRANCH} = release* && "${TRAVIS_PULL_REQUEST}" == "false" ]];
+ then
+ export MAVEN_PHASE="deploy"
+ export IMAGE_TAG="${imageTag}-latest"
+ else
+ export MAVEN_PHASE="verify"
+ export BUILD_PROFILE="buildDockerImage"
+ export IMAGE_TAG="latest"
+ fi