Merge remote-tracking branch 'remotes/origin/release/V3.2' into merge-3.3/APPS-238_APPS-104_no

# Conflicts:
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/enterprise/security/classification/content/documents/ClassifyActionTest.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/enterprise/security/guides/GuidesAndPartialClearanceTests.java
#	scripts/dockerLimitMemory.sh
This commit is contained in:
Claudia Agache
2020-11-05 16:28:25 +02:00
parent 131fd8296f
commit ec548911ae
13 changed files with 375 additions and 84 deletions

View File

@@ -8,3 +8,7 @@ env:
- ENTERPRISE_REPO_PATH=rm-enterprise/rm-enterprise-repo
- ENTERPRISE_SHARE_PATH=rm-enterprise/rm-enterprise-share
- MVN_SKIP='-Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests'
- ALFRESCO_URL="http://localhost:8080/alfresco"
- SHARE_URL="http://localhost:8181/share"
- DISPLAY=:99.0
- WEBDRIVER_ARGUMENTS='-Dwebdriver.local.grid=true -Dwebdriver.browser=RemoteFireFox -Dwebdriver.localGrid=false -Dorg.alfresco.rm.timeout_seconds.MEDIUM=30'

43
.travis.publish-stage.yml Normal file
View File

@@ -0,0 +1,43 @@
jobs:
include:
- name: "Community Publish to S3 Release Bucket"
stage: Publish
if: commit_message =~ /\[community release .*\]/ AND commit_message =~ /\[publish\]/
before_script: source scripts/set-release-variables.sh
script: skip
before_deploy: bash scripts/zip-artifacts-release.sh "community"
deploy:
- provider: s3
access_key_id: ${RELEASE_AWS_ACCESS_KEY}
secret_access_key: $RELEASE_AWS_ACCESS_SECRET}
region: "eu-west-1"
bucket: "eu.dl.alfresco.com"
upload_dir: "release/community/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/eu.dl.alfresco.com/release/community/RM/${RELEASE_VERSION}"
- name: "Enterprise Publish to S3 Release Bucket"
stage: Publish
if: commit_message =~ /\[enterprise release .*\]/ AND commit_message =~ /\[publish\]/
before_script: source scripts/set-release-variables.sh
script: skip
before_deploy: bash scripts/zip-artifacts-release.sh "enterprise"
deploy:
- provider: s3
access_key_id: ${RELEASE_AWS_ACCESS_KEY}
secret_access_key: ${RELEASE_AWS_ACCESS_SECRET}
region: "eu-west-1"
bucket: "eu.dl.alfresco.com"
upload_dir: "release/enterprise/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/eu.dl.alfresco.com/release/enterprise/RM/${RELEASE_VERSION}"

52
.travis.release-stage.yml Normal file
View File

@@ -0,0 +1,52 @@
jobs:
include:
- name: "Community Release and Publish to S3 Staging Bucket"
stage: Release
if: commit_message =~ /\[community release .*\]/
before_script:
- source scripts/set-release-variables.sh
- bash scripts/check-existing-tags.sh "alfresco/alfresco-governance-share-community"
script:
- bash scripts/release.sh "community"
before_deploy:
- bash scripts/zip-artifacts-staging.sh "community"
- bash scripts/pushDockerDigestTag.sh -i quay.io/alfresco/alfresco-governance-repository-community -i quay.io/alfresco/alfresco-governance-share-community -r quay.io -t ${RELEASE_VERSION}
deploy:
- provider: s3
access_key_id: ${STAGING_AWS_ACCESS_KEY}
secret_access_key: ${STAGING_AWS_SECRET_KEY}
region: "eu-west-1"
bucket: "alfresco-artefacts-staging"
upload_dir: "community/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/community/RM/${RELEASE_VERSION}"
- name: "Enterprise Release and Publish to S3 Staging Bucket"
stage: Release
if: commit_message =~ /\[enterprise release .*\]/
before_script:
- source scripts/set-release-variables.sh
script:
- bash scripts/release.sh "enterprise"
before_deploy:
- bash scripts/zip-artifacts-staging.sh "enterprise"
- bash scripts/pushDockerDigestTag.sh -i quay.io/alfresco/alfresco-governance-repository-enterprise -i quay.io/alfresco/alfresco-governance-share-enterprise -r quay.io -t ${RELEASE_VERSION}
deploy:
- provider: s3
access_key_id: ${STAGING_AWS_ACCESS_KEY}
secret_access_key: ${STAGING_AWS_SECRET_KEY}
region: "eu-west-1"
bucket: "alfresco-artefacts-staging"
upload_dir: "enterprise/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/enterprise/RM/${RELEASE_VERSION}"

135
.travis.tests-stage.yml Normal file
View File

@@ -0,0 +1,135 @@
jobs:
include:
- name: "Community Integrations Tests on MySQL"
stage: Tests
script:
- echo "Community Integrations Tests on MySQL"
- name: "Enterprise Integrations Tests on MySQL"
stage: Tests
script:
- echo "Enterprise Integrations Tests on MySQL"
- name: "Community Rest API Tests"
stage: Tests
install:
- |
if [[ ${TRAVIS_BRANCH} == *community* ]]; then
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-community-repo -am
else
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
fi
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-community-rest-api -am
before_script:
- |
if [[ ${TRAVIS_BRANCH} == *community* ]]; then
bash scripts/startAlfresco.sh $COMMUNITY_REPO_PATH false
else
bash scripts/startAlfresco.sh $ENTERPRISE_REPO_PATH false
fi
- bash scripts/waitForAlfrescoToStart.sh
script: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false
after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000
- name: "Enterprise Rest API Tests"
stage: Tests
install:
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-enterprise-rest-api -am
before_script:
- bash scripts/startAlfresco.sh $ENTERPRISE_REPO_PATH false
- bash scripts/waitForAlfrescoToStart.sh
- bash scripts/dockerLimitMemory.sh
- sudo free -m -t
script:
- mvn -B test -pl :alfresco-governance-services-automation-enterprise-rest-api -Dskip.automationtests=false
after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000
- &community_shared_UI_configuration
name: "Community Smoke UI Tests for Records"
stage: Tests
addons:
firefox: "43.0.1"
artifacts:
paths:
- ./rm-automation/rm-automation-ui/target/surefire-reports
- ./rm-automation/rm-automation-ui/target/reports
- ./rm-automation/rm-automation-ui/target/screenshots
target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
install:
- |
if [[ ${TRAVIS_COMMIT_MESSAGE} == *"[tests on community]"* ]]; then
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-community-repo,:alfresco-governance-services-community-share -am
bash scripts/startAlfresco.sh $COMMUNITY_SHARE_PATH false
bash scripts/waitForAlfrescoToStart.sh
else
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
bash scripts/startAlfresco.sh $ENTERPRISE_SHARE_PATH true
bash scripts/waitForAlfrescoToStart.sh
bash scripts/dockerLimitMemory.sh
sudo free -m -t
fi
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-ui -am
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *community_shared_UI_configuration
name: "Community Smoke UI Tests for actions in RM site"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communitySmokeRMSite.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *community_shared_UI_configuration
name: "Community Level 2 UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communityLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- &enterprise_shared_UI_configuration
name: "Enterprise Level 2 UI Tests"
stage: Tests
if: commit_message !~ /\[tests on community\]/
addons:
firefox: "43.0.1"
artifacts:
paths:
- ./rm-automation/rm-automation-ui/target/surefire-reports
- ./rm-automation/rm-automation-ui/target/reports
- ./rm-automation/rm-automation-ui/target/screenshots
target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
install:
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-ui -am
- bash scripts/startAlfresco.sh $ENTERPRISE_SHARE_PATH true
- bash scripts/waitForAlfrescoToStart.sh
- bash scripts/dockerLimitMemory.sh
- sudo free -m -t
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Classification Level 2 UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseLevel2ClassificationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Records Classification UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseRecordsClassificationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Folders Classification UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseFoldersClassificationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Documents Classification UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseDocumentsClassificationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Security Marks UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseSecurityMarksTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Console, Guides and Configuration UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseConsoleGuidesAndConfiguration.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}

View File

@@ -1,5 +1,8 @@
import:
- source: travis-env-vars.yml
- source: .travis.env-vars.yml
- source: .travis.tests-stage.yml
- source: .travis.release-stage.yml
- source: .travis.publish-stage.yml
dist: xenial
sudo: required
language: java
@@ -26,6 +29,8 @@ before_cache:
before_install:
- "cp .travis.settings.xml $HOME/.m2/settings.xml"
- echo "${DOCKERHUB_PASSWORD}" | docker login -u="${DOCKERHUB_USERNAME}" --password-stdin
- echo "${QUAY_PASSWORD}" | docker login -u="${QUAY_USERNAME}" --password-stdin quay.io
install: skip
stages:
@@ -34,7 +39,9 @@ stages:
if: commit_message !~ /\[skip tests\]/
- name: Security Scans
- name: Release
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message =~ /\[(community|enterprise) release .*\]/
- name: Publish
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message =~ /\[publish\]/
jobs:
include:
@@ -61,66 +68,6 @@ jobs:
script:
- 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
script:
- echo "Community Integrations Tests on MySQL"
- name: "Enterprise Integrations Tests on MySQL"
stage: Tests
script:
- echo "Enterprise Integrations Tests on MySQL"
- name: "Community Rest API Tests"
stage: Tests
install:
- |
if [[ ${TRAVIS_BRANCH} == *community* ]]; then
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-community-repo -am
else
travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
fi
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-community-rest-api -am
before_script:
- |
if [[ ${TRAVIS_BRANCH} == *community* ]]; then
bash scripts/startAlfresco.sh $COMMUNITY_REPO_PATH
else
bash scripts/startAlfresco.sh $ENTERPRISE_REPO_PATH
fi
- bash scripts/waitForAlfrescoToStart.sh
script: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false
after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000
- name: "Enterprise Rest API Tests"
stage: Tests
install:
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo -am
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-enterprise-rest-api -am
before_script:
- bash scripts/startAlfresco.sh $ENTERPRISE_REPO_PATH
- bash scripts/waitForAlfrescoToStart.sh
- bash scripts/dockerLimitMemory.sh
- sudo free -m -t
script:
- mvn -B test -pl :alfresco-governance-services-automation-enterprise-rest-api -Dskip.automationtests=false
after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000
- name: "Community UI Tests ..."
stage: Tests
before_install:
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-community-repo,:alfresco-governance-services-community-share -am
install:
- bash scripts/startAlfresco.sh $COMMUNITY_SHARE_PATH
- bash scripts/waitForAlfrescoToStart.sh
script:
- echo "Community UI Tests ..."
- name: "Enterprise UI Tests ..."
stage: Tests
before_install:
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
install:
- bash scripts/startAlfresco.sh $ENTERPRISE_SHARE_PATH
- bash scripts/waitForAlfrescoToStart.sh
script:
- echo "Enterprise UI Tests ..."
- name: "Source Clear Scan (SCA)"
stage: Security Scans
script:
@@ -129,17 +76,3 @@ jobs:
stage: Security Scans
script:
- echo "Static Analysis (SAST)"
- name: "Community Release"
stage: Release
script:
- echo "Community Release"
- name: "Enterprise Release"
stage: Release
script:
- echo "Enterprise Release"
- name: "Copy to S3 Release Bucket"
stage: Publish
script:
- echo "Copy to S3 Release Bucket"

View File

@@ -15,9 +15,9 @@
</organization>
<scm>
<connection>scm:git:ssh://git@github.com/Alfresco/governance-services.git</connection>
<developerConnection>scm:git:ssh://git@github.com/Alfresco/governance-services.git</developerConnection>
<url>scm:git:ssh://git@github.com/Alfresco/governance-services.git</url>
<connection>scm:git:https://github.com/Alfresco/governance-services.git</connection>
<developerConnection>scm:git:https://github.com/Alfresco/governance-services.git</developerConnection>
<url>https://github.com/Alfresco/governance-services</url>
<tag>HEAD</tag>
</scm>

View File

@@ -0,0 +1,18 @@
#!/bin/bash
alfresco_docker_image=$1
# Verify release tags
get_tags="$(curl https://hub.docker.com/r/$alfresco_docker_image/tags/ | grep -o '\"result\".*\"]')"
arrayTags=($get_tags)
echo "Existing Tags: $get_tags"
for tag in "${arrayTags[@]}"
do
if [[ $tag = ${RELEASE_VERSION} ]]; then
echo "Tag ${RELEASE_VERSION} already pushed, release process will interrupt."
exit 0
fi
done
echo "The ${RELEASE_VERSION} tag was not found"

View File

@@ -6,18 +6,25 @@ docker stats --no-stream
#limit memory used by each container
docker update --memory=2Gb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_alfresco_' | awk '{print $1}')
docker update --memory=1200Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_search_' | awk '{print $1}')
#docker update --memory=1Gb --memory-swap -1 $(docker ps -a | grep '_zeppelin_' | awk '{print $1}')
docker update --memory=1Gb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_search_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_postgres_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_transform-router_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_activemq_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_imagemagick_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_alfresco-pdf-renderer_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_shared-file-store_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_tika_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_libreoffice_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_activemq_' | awk '{print $1}')
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_transform-misc_' | awk '{print $1}')
shareContainerId=$(docker ps -a | grep '_share_' | awk '{print $1}')
if [ -n "$shareContainerId" ]; then
docker update --memory=1Gb --memory-swap -1 --restart on-failure $shareContainerId
docker stop $(docker ps -a | grep '_transform-router_' | awk '{print $1}')
docker stop $(docker ps -a | grep '_shared-file-store_' | awk '{print $1}')
else
docker update --memory=512Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_transform-router_' | awk '{print $1}')
docker update --memory=300Mb --memory-swap -1 --restart on-failure $(docker ps -a | grep '_shared-file-store_' | awk '{print $1}')
fi
#stop not needed containers
docker stop $(docker ps -a | grep '_zeppelin_' | awk '{print $1}')
docker stop $(docker ps -a | grep '_sync-service_' | awk '{print $1}')

40
scripts/release.sh Executable file
View File

@@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -e
# Use full history for release
git checkout -B "${TRAVIS_BRANCH}"
git config user.email "build@alfresco.com"
release_type=$1
echo Release type: "$release_type"
if [ -z $release_type ]; then
echo "Please provide a release type."
exit 1
elif [ $release_type != "community" -a $release_type != "enterprise" ]; then
echo "The provided release type is not valid."
exit 1
fi
if [ -z ${RELEASE_VERSION} ] || [ -z ${DEVELOPMENT_VERSION} ]; then
echo "Please provide a Release and Development verison"
exit 1
fi
# Check if it's a hotfix version by counting the number of dots in the version number.
if [ $(echo "${RELEASE_VERSION}" | grep -o "\." | wc -l) == 3 ] && [ ${release_type} == "enterprise" ];
then
deployment_repository="hotfix-release"
else
deployment_repository="${release_type}-release"
fi
mvn --batch-mode \
-Dusername="${GIT_USERNAME}" \
-Dpassword="${GIT_PASSWORD}" \
-DreleaseVersion=${RELEASE_VERSION} \
-DdevelopmentVersion=${DEVELOPMENT_VERSION} \
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
"-Darguments=-DskipTests -D${release_type} -P${deployment_repository},release-${release_type}" \
release:clean release:prepare release:perform

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
echo "Travis commit message: $TRAVIS_COMMIT_MESSAGE"
release_message=$(echo $TRAVIS_COMMIT_MESSAGE | grep -Po '(\[(community|enterprise)\srelease\s(\d\.)+(\d|[a-z])(-[A-Z]\d){0,1}\s(\d\.)+\d-SNAPSHOT\])')
if [ ! -n "$release_message" ]; then
echo "The commit message is in the wrong format or it does not contain all the required properties."
exit 1
fi
export RELEASE_VERSION=$(echo $release_message | grep -Po '(\d\.)+(\d|[a-z])(-[A-Z]\d){0,1}' | head -1)
export DEVELOPMENT_VERSION=$(echo $release_message | grep -Po '(\d\.)+\d-SNAPSHOT')
echo "Release version is set to $RELEASE_VERSION"
echo "Development version is set to $DEVELOPMENT_VERSION"

View File

@@ -3,5 +3,9 @@
set -ev
cd $1
docker login quay.io -u ${QUAY_USERNAME} -p ${QUAY_PASSWORD}
# if 2nd input parameter is true then use .env.ci where TRANSFORM_SERVICE_ENABLED flag is set to false
# in order to not use anymore Transform router and Shared File Store
if $2 ; then
mv -u .env.ci .env
fi
docker-compose up -d

View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -e
release_type=$1
mkdir "artifacts_dir"
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \
-Dartifact=org.alfresco:alfresco-governance-services-${release_type}-repo:${RELEASE_VERSION}:amp \
-DoutputDirectory=artifacts_dir
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \
-Dartifact=org.alfresco:alfresco-governance-services-${release_type}-share:${RELEASE_VERSION}:amp \
-DoutputDirectory=artifacts_dir
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \
-Dartifact=org.alfresco:alfresco-governance-services-${release_type}-rest-api-explorer:${RELEASE_VERSION}:war \
-DoutputDirectory=artifacts_dir
cd artifacts_dir
zip alfresco-governance-services-${release_type}-${RELEASE_VERSION}.zip *
# rm *.amp *.war -f
ls

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -e
release_type=$1
mkdir "artifacts_dir"
cp rm-${release_type}/rm-${release_type}-repo/target/alfresco-governance-services-${release_type}-repo-*.amp artifacts_dir
cp rm-${release_type}/rm-${release_type}-share/target/alfresco-governance-services-${release_type}-share-*.amp artifacts_dir
cp rm-${release_type}/rm-${release_type}-rest-api-explorer/target/alfresco-governance-services-${release_type}-rest-api-explorer-*.war artifacts_dir
cd artifacts_dir
zip alfresco-governance-services-${release_type}-${RELEASE_VERSION}.zip *
# rm *.amp *.war -f
ls