mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Split release stage into community and enterprise release and publish stages
- copy artifacts from maven for publish job - simplify scripts
This commit is contained in:
@@ -45,11 +45,6 @@
|
|||||||
<username>${env.DOCKERHUB_USERNAME}</username>
|
<username>${env.DOCKERHUB_USERNAME}</username>
|
||||||
<password>${env.DOCKERHUB_PASSWORD}</password>
|
<password>${env.DOCKERHUB_PASSWORD}</password>
|
||||||
</server>
|
</server>
|
||||||
<server>
|
|
||||||
<id>github</id>
|
|
||||||
<username>${env.GIT_USERNAME}</username>
|
|
||||||
<password>${env.GIT_PASSWORD}</password>
|
|
||||||
</server>
|
|
||||||
<server>
|
<server>
|
||||||
<id>alfresco-internal</id>
|
<id>alfresco-internal</id>
|
||||||
<username>${env.MAVEN_USERNAME}</username>
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
86
.travis.yml
86
.travis.yml
@@ -33,7 +33,10 @@ stages:
|
|||||||
- name: Tests
|
- name: Tests
|
||||||
if: commit_message !~ /\[skip tests\]/
|
if: commit_message !~ /\[skip tests\]/
|
||||||
- name: Security Scans
|
- name: Security Scans
|
||||||
- name: Release and Publish
|
- name: Release
|
||||||
|
if: fork = false AND (branch = master OR branch =~ /release\/.*/ OR branch =~ /merge-2.7\/.*/) AND type != pull_request AND commit_message =~ /\[(community|enterprise) release .*\]/
|
||||||
|
- name: Publish
|
||||||
|
if: fork = false AND (branch = master OR branch =~ /release\/.*/ OR branch =~ /merge-2.7\/.*/) AND type != pull_request AND commit_message =~ /\[publish\]/ #TODO
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
@@ -108,23 +111,88 @@ jobs:
|
|||||||
script:
|
script:
|
||||||
- echo "Static Analysis (SAST)"
|
- echo "Static Analysis (SAST)"
|
||||||
|
|
||||||
- name: "Release"
|
- name: "Community Release and Publish to S3 Staging Bucket"
|
||||||
stage: Release and Publish
|
stage: Release
|
||||||
if: fork = false AND (branch = master OR branch =~ /release\/.*/ OR branch =~ /merge-2.7\/.*/) AND type != pull_request AND commit_message =~ /.*\[.*release.*\].*/
|
if: commit_message =~ /\[community release .*\]/
|
||||||
before_script:
|
before_script:
|
||||||
- echo ${TRAVIS_COMMIT_MESSAGE}
|
|
||||||
- source scripts/set-release-variables.sh
|
- source scripts/set-release-variables.sh
|
||||||
script:
|
script:
|
||||||
- bash scripts/release.sh ${RELEASE_TYPE}
|
- bash scripts/release.sh "community"
|
||||||
before_deploy:
|
before_deploy:
|
||||||
- bash scripts/zip-artifacts.sh ${RELEASE_TYPE}
|
- bash scripts/zip-artifacts-staging.sh "community"
|
||||||
deploy:
|
deploy:
|
||||||
- provider: s3
|
- provider: s3
|
||||||
access_key_id: ${ARTIFACTS_KEY}
|
access_key_id: ${ARTIFACTS_KEY}
|
||||||
secret_access_key: ${ARTIFACTS_SECRET}
|
secret_access_key: ${ARTIFACTS_SECRET}
|
||||||
region: "eu-west-1"
|
region: "eu-west-1"
|
||||||
bucket: ${ARTIFACTS_UPLOAD_BUCKET}
|
bucket: "alfresco-artefacts-staging"
|
||||||
upload_dir: ${ARTIFACTS_UPLOAD_DIR}
|
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/${ARTIFACTS_UPLOAD_BUCKET}/${ARTIFACTS_UPLOAD_DIR}"
|
||||||
|
|
||||||
|
- 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"
|
||||||
|
deploy:
|
||||||
|
- provider: s3
|
||||||
|
access_key_id: ${ARTIFACTS_KEY}
|
||||||
|
secret_access_key: ${ARTIFACTS_SECRET}
|
||||||
|
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/${ARTIFACTS_UPLOAD_BUCKET}/${ARTIFACTS_UPLOAD_DIR}"
|
||||||
|
|
||||||
|
- 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: ${ARTIFACTS_KEY}
|
||||||
|
secret_access_key: ${ARTIFACTS_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/${ARTIFACTS_UPLOAD_BUCKET}/${ARTIFACTS_UPLOAD_DIR}"
|
||||||
|
|
||||||
|
- name: "Enterprise Publish to S3 Staging 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: ${ARTIFACTS_KEY}
|
||||||
|
secret_access_key: ${ARTIFACTS_SECRET}
|
||||||
|
region: "eu-west-1"
|
||||||
|
bucket: "eu.dl.alfresco.com"
|
||||||
|
upload_dir: "release/enterprise/RM/${RELEASE_VERSION}"
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
acl: private
|
acl: private
|
||||||
local_dir: artifacts_dir
|
local_dir: artifacts_dir
|
||||||
|
@@ -4,6 +4,8 @@ set -e
|
|||||||
# Use full history for release
|
# Use full history for release
|
||||||
git checkout -B "${TRAVIS_BRANCH}"
|
git checkout -B "${TRAVIS_BRANCH}"
|
||||||
|
|
||||||
|
git config user.email "build@alfresco.com"
|
||||||
|
|
||||||
release_type=$1
|
release_type=$1
|
||||||
echo Release type: "$release_type"
|
echo Release type: "$release_type"
|
||||||
|
|
||||||
@@ -15,10 +17,11 @@ elif [ $release_type != "community" -a $release_type != "enterprise" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z ${RELEASE_VERSION} ] || [ -z ${DEVELOPMENT_VERSION} ];
|
if [ -z ${RELEASE_VERSION} ] || [ -z ${DEVELOPMENT_VERSION} ]; then
|
||||||
then echo "Please provide a Release and Development verison"
|
echo "Please provide a Release and Development verison"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
fi
|
||||||
|
|
||||||
mvn --batch-mode \
|
mvn --batch-mode \
|
||||||
-Dusername="${GIT_USERNAME}" \
|
-Dusername="${GIT_USERNAME}" \
|
||||||
-Dpassword="${GIT_PASSWORD}" \
|
-Dpassword="${GIT_PASSWORD}" \
|
||||||
@@ -26,4 +29,3 @@ else
|
|||||||
-DdevelopmentVersion=${DEVELOPMENT_VERSION} \
|
-DdevelopmentVersion=${DEVELOPMENT_VERSION} \
|
||||||
-DskipTests -D${release_type} -DuseReleaseProfile=false \
|
-DskipTests -D${release_type} -DuseReleaseProfile=false \
|
||||||
-P${release_type}-release release:clean release:prepare release:perform
|
-P${release_type}-release release:clean release:prepare release:perform
|
||||||
fi
|
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -evx
|
||||||
|
|
||||||
echo "Travis commit message: $TRAVIS_COMMIT_MESSAGE"
|
echo "Travis commit message: $TRAVIS_COMMIT_MESSAGE"
|
||||||
release_message=$(echo $TRAVIS_COMMIT_MESSAGE | grep -Po '(\[(internal )*(community|enterprise)\srelease\s(\d\.)+(\d|[a-z])(-[A-Z]\d){0,1}\s(\d\.)+\d-SNAPSHOT\])')
|
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
|
if [ ! -n "$release_message" ]; then
|
||||||
echo "The commit message is in the wrong format or it does not contain all the required properties."
|
echo "The commit message is in the wrong format or it does not contain all the required properties."
|
||||||
@@ -13,31 +14,3 @@ export DEVELOPMENT_VERSION=$(echo $release_message | grep -Po '(\d\.)+\d-SNAPSHO
|
|||||||
|
|
||||||
echo "Release version is set to $RELEASE_VERSION"
|
echo "Release version is set to $RELEASE_VERSION"
|
||||||
echo "Development version is set to $DEVELOPMENT_VERSION"
|
echo "Development version is set to $DEVELOPMENT_VERSION"
|
||||||
|
|
||||||
release_type=$(echo $release_message | grep -Po '(internal\s)*(community|enterprise)')
|
|
||||||
|
|
||||||
if [[ $release_type =~ "community" ]]; then
|
|
||||||
echo "Setting Community Release variables..."
|
|
||||||
export RELEASE_TYPE="community"
|
|
||||||
if [[ $release_type =~ "internal" ]]; then
|
|
||||||
echo "Setting ARTIFACTS_UPLOAD_BUCKET and ARTIFACTS_UPLOAD_DIR for the Internal release"
|
|
||||||
export ARTIFACTS_UPLOAD_BUCKET="alfresco-artefacts-staging"
|
|
||||||
export ARTIFACTS_UPLOAD_DIR="community/RM/${RELEASE_VERSION}"
|
|
||||||
else
|
|
||||||
echo "Setting ARTIFACTS_UPLOAD_BUCKET and ARTIFACTS_UPLOAD_DIR for the release"
|
|
||||||
export ARTIFACTS_UPLOAD_BUCKET="eu.dl.alfresco.com"
|
|
||||||
export ARTIFACTS_UPLOAD_DIR="release/community/RM/${RELEASE_VERSION}"
|
|
||||||
fi
|
|
||||||
elif [[ $release_type =~ "enterprise" ]]; then
|
|
||||||
echo "Setting Enterprise Release variables..."
|
|
||||||
export RELEASE_TYPE="enterprise"
|
|
||||||
if [[ $release_type =~ "internal" ]]; then
|
|
||||||
echo "Setting ARTIFACTS_UPLOAD_BUCKET and ARTIFACTS_UPLOAD_DIR for the Internal release"
|
|
||||||
export ARTIFACTS_UPLOAD_BUCKET="alfresco-artefacts-staging"
|
|
||||||
export ARTIFACTS_UPLOAD_DIR="enterprise/RM/${RELEASE_VERSION}"
|
|
||||||
else
|
|
||||||
echo "Setting ARTIFACTS_UPLOAD_BUCKET and ARTIFACTS_UPLOAD_DIR for the release"
|
|
||||||
export ARTIFACTS_UPLOAD_BUCKET="eu.dl.alfresco.com"
|
|
||||||
export ARTIFACTS_UPLOAD_DIR="release/enterprise/RM/${RELEASE_VERSION}"
|
|
||||||
fi
|
|
||||||
fi
|
|
@@ -8,4 +8,3 @@ then
|
|||||||
else
|
else
|
||||||
export MAVEN_PHASE="verify"
|
export MAVEN_PHASE="verify"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
27
scripts/zip-artifacts-release.sh
Normal file
27
scripts/zip-artifacts-release.sh
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -evx
|
||||||
|
|
||||||
|
release_type=$1
|
||||||
|
|
||||||
|
mkdir "artifacts_dir"
|
||||||
|
cp rm-${release_type}/rm-${release_type}-repo/target/alfresco-rm-*${release_type}*amp artifacts_dir
|
||||||
|
cp rm-${release_type}/rm-${release_type}-share/target/alfresco-rm-*${release_type}*amp artifacts_dir
|
||||||
|
cp rm-${release_type}/rm-${release_type}-rest-api-explorer/target/alfresco-rm-*${release_type}*war artifacts_dir
|
||||||
|
|
||||||
|
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \
|
||||||
|
-Dartifact=org.alfresco:alfresco-rm-${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-rm-${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-rm-${release_type}-rest-api-explorer:${RELEASE_VERSION}:war \
|
||||||
|
-DoutputDirectory=artifacts_dir
|
||||||
|
|
||||||
|
cd artifacts_dir
|
||||||
|
zip alfresco-rm-${release_type}-${RELEASE_VERSION}.zip *
|
||||||
|
|
||||||
|
# rm *.amp *.war -f
|
||||||
|
ls artifacts_dir
|
15
scripts/zip-artifacts-staging.sh
Executable file
15
scripts/zip-artifacts-staging.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -evx
|
||||||
|
|
||||||
|
release_type=$1
|
||||||
|
|
||||||
|
mkdir "artifacts_dir"
|
||||||
|
cp rm-${release_type}/rm-${release_type}-repo/target/alfresco-rm-${release_type}-repo-*.amp artifacts_dir
|
||||||
|
cp rm-${release_type}/rm-${release_type}-share/target/alfresco-rm-${release_type}-share-*.amp artifacts_dir
|
||||||
|
cp rm-${release_type}/rm-${release_type}-rest-api-explorer/target/alfresco-rm-${release_type}-rest-api-explorer-*.war artifacts_dir
|
||||||
|
|
||||||
|
cd artifacts_dir
|
||||||
|
zip alfresco-rm-${release_type}-${RELEASE_VERSION}.zip *
|
||||||
|
|
||||||
|
# rm *.amp *.war -f
|
||||||
|
ls artifacts_dir
|
@@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ $1 == 'community' ]; then
|
|
||||||
mkdir "artifacts_dir"
|
|
||||||
cp rm-community/rm-community-repo/target/alfresco-rm-*community*amp artifacts_dir
|
|
||||||
cp rm-community/rm-community-share/target/alfresco-rm-*community*amp artifacts_dir
|
|
||||||
cp rm-community/rm-community-rest-api-explorer/target/alfresco-rm-*community*war artifacts_dir
|
|
||||||
cd artifacts_dir
|
|
||||||
zip alfresco-rm-community-${RELEASE_VERSION}.zip *amp
|
|
||||||
ls artifacts_dir
|
|
||||||
elif [ $1 == "enterprise" ]; then
|
|
||||||
mkdir "artifacts_dir"
|
|
||||||
cp rm-enterprise/rm-enterprise-repo/target/alfresco-rm-*enterprise*amp artifacts_dir
|
|
||||||
cp rm-enterprise/rm-enterprise-share/target/alfresco-rm-*enterprise*amp artifacts_dir
|
|
||||||
cd artifacts_dir
|
|
||||||
zip alfresco-rm-enterprise-${RELEASE_VERSION}.zip *amp
|
|
||||||
ls artifacts_dir
|
|
||||||
fi
|
|
Reference in New Issue
Block a user