From a9218b16d375faaeec832acf390a2e2aa5065461 Mon Sep 17 00:00:00 2001 From: DenisGabriela Date: Wed, 15 May 2019 13:30:23 +0300 Subject: [PATCH] ATS-421 : Create Travis build for "alfresco-transform-core" (#21) * ATS-421 : ATS-400: Create Travis build for "alfresco-transform-core" - rename mvn profile from 'enterpriseDocker' to 'local' - add config to publish docker image on both Quay and Docker - remove unused 'master' profile - similar to ATS, publish images only from master branch and on Release - update to publish artefacts to Nexus public (rather than Enterprise Releases) - add travis build configs - include SP branches to travis build - add documentation on build&release process --- .travis.yml | 82 ++++++++++++++ README.md | 6 + _ci/build.sh | 21 ++++ _ci/init.sh | 15 +++ _ci/prepare_release_deploy.sh | 24 ++++ _ci/prepare_staging_deploy.sh | 24 ++++ _ci/release.sh | 26 +++++ _ci/settings.xml | 74 ++++++++++++ _ci/whitesource.sh | 22 ++++ alfresco-docker-alfresco-pdf-renderer/pom.xml | 55 ++++----- alfresco-docker-imagemagick/pom.xml | 55 ++++----- alfresco-docker-libreoffice/pom.xml | 55 ++++----- alfresco-docker-tika/pom.xml | 55 ++++----- alfresco-transformer-base/pom.xml | 2 +- docs/build-and-release.md | 106 ++++++++++++++++++ pom.xml | 25 +++-- 16 files changed, 491 insertions(+), 156 deletions(-) create mode 100644 .travis.yml create mode 100644 _ci/build.sh create mode 100644 _ci/init.sh create mode 100644 _ci/prepare_release_deploy.sh create mode 100644 _ci/prepare_staging_deploy.sh create mode 100644 _ci/release.sh create mode 100644 _ci/settings.xml create mode 100644 _ci/whitesource.sh create mode 100644 docs/build-and-release.md diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..281629f1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,82 @@ +--- +language: java +jdk: openjdk11 +dist: trusty + +git: + depth: false + quiet: true + +services: + - docker + +cache: + directories: + - ${HOME}/.m2/repository + +branches: + only: + - master + - SP/1.3.N + - SP/2.0.N + - release + - release/SP/1.3.N + - release/SP/2.0.N + - company_release + - /^ATS-.*$/ + +stages: + - build + - tests + - release + - company_release + +jobs: + include: + - name: "Build" + stage: build + if: branch NOT IN (company_release) + before_install: bash _ci/init.sh + script: bash _ci/build.sh + + - name: "WhiteSource" + stage: build + if: branch NOT IN (company_release) + before_install: bash _ci/init.sh + script: bash _ci/whitesource.sh + + - name: "Release" + stage: release + if: branch IN (release, release/SP/1.3.N, release/SP/2.0.N) + before_install: bash _ci/init.sh + script: bash _ci/release.sh + before_deploy: source _ci/prepare_staging_deploy.sh + deploy: + provider: s3 + access_key_id: "${STAGING_AWS_ACCESS_KEY}" + secret_access_key: "${STAGING_AWS_SECRET_KEY}" + bucket: "alfresco-artefacts-staging" + skip_cleanup: true + region: "eu-west-1" + local_dir: "deploy_dir" + upload-dir: "enterprise/AlfrescoTransformServices/TransformEngines/${VERSION}" + on: + branch: release + + - name: "Company Release" + stage: company_release + if: branch = company_release + before_install: bash _ci/init.sh + script: echo "NoOp" + before_deploy: source _ci/prepare_release_deploy.sh + deploy: + provider: s3 + access_key_id: "${RELEASE_AWS_ACCESS_KEY}" + secret_access_key: "${RELEASE_AWS_SECRET_KEY}" + bucket: "eu.dl.alfresco.com" + skip_cleanup: true + region: "eu-west-1" + local_dir: "deploy_dir" + upload-dir: "release/enterprise/AlfrescoTransformServices/TransformEngines/${VERSION}" + on: + branch: company_release diff --git a/README.md b/README.md index 2849075f..a619236b 100644 --- a/README.md +++ b/README.md @@ -23,3 +23,9 @@ The build plan in Bamboo is PLAT-TRANS Please use [this guide](https://github.com/Alfresco/alfresco-jodconverter/blob/master/CONTRIBUTING.md) to make a contribution to the project. + +## Release Process + +For a complete walk-through check out the +[build-and-release.MD](https://github.com/Alfresco/alfresco-transform-core/tree/master/docs/build-and-release.md) +under the `docs` folder. \ No newline at end of file diff --git a/_ci/build.sh b/_ci/build.sh new file mode 100644 index 00000000..21675ee3 --- /dev/null +++ b/_ci/build.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +echo "=========================== Starting Build&Test Script ===========================" +PS4="\[\e[35m\]+ \[\e[m\]" +set -vex +pushd "$(dirname "${BASH_SOURCE[0]}")/../" + +# Always build the image, but only publish from the "master" branch +[ "${TRAVIS_PULL_REQUEST}" = "false" ] && [ "${TRAVIS_BRANCH}" = "master" ] && PROFILE="internal" || PROFILE="local" + +mvn -B -U \ + clean install \ + -DadditionalOption=-Xdoclint:none -Dmaven.javadoc.skip=true \ + "-P${PROFILE}" + +docker ps -a -q | xargs -r -l docker stop ; docker ps -a -q | xargs -r -l docker rm + +popd +set +vex +echo "=========================== Finishing Build&Test Script ==========================" + diff --git a/_ci/init.sh b/_ci/init.sh new file mode 100644 index 00000000..d3ae454f --- /dev/null +++ b/_ci/init.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +echo "=========================== Starting Init Script ===========================" +PS4="\[\e[35m\]+ \[\e[m\]" +set -vex +pushd "$(dirname "${BASH_SOURCE[0]}")/../" + +mkdir -p ${HOME}/.m2 && cp -rf _ci/settings.xml ${HOME}/.m2/ +echo "${QUAY_PASSWORD}" | docker login -u="alfresco+bamboo" --password-stdin quay.io +find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf + +popd +set +vex +echo "=========================== Finishing Init Script ==========================" + diff --git a/_ci/prepare_release_deploy.sh b/_ci/prepare_release_deploy.sh new file mode 100644 index 00000000..d255bb59 --- /dev/null +++ b/_ci/prepare_release_deploy.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +echo "========================== Starting Prepare Release Deploy Script ===========================" +PS4="\[\e[35m\]+ \[\e[m\]" +set -vex +pushd "$(dirname "${BASH_SOURCE[0]}")/../" + +# Identify latest annotated tag (latest version) +export VERSION=$(git describe --abbrev=0 --tags) + +mkdir -p deploy_dir + +# Download the WhiteSource report +mvn org.alfresco:whitesource-downloader-plugin:inventoryReport \ + -N \ + "-Dorg.whitesource.product=Transform Service" \ + -DsaveReportAs=deploy_dir/3rd-party.xlsx + +echo "Local deploy directory content:" +ls -lA deploy_dir + +popd +set +vex +echo "========================== Finishing Prepare Release Deploy Script ==========================" diff --git a/_ci/prepare_staging_deploy.sh b/_ci/prepare_staging_deploy.sh new file mode 100644 index 00000000..b8a544bb --- /dev/null +++ b/_ci/prepare_staging_deploy.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +echo "========================== Starting Prepare Staging Deploy Script ===========================" +PS4="\[\e[35m\]+ \[\e[m\]" +set -vex +pushd "$(dirname "${BASH_SOURCE[0]}")/../" + +# Identify latest annotated tag (latest version) +export VERSION=$(git describe --abbrev=0 --tags) + +mkdir -p deploy_dir + +# Download the WhiteSource report +mvn org.alfresco:whitesource-downloader-plugin:inventoryReport \ + -N \ + "-Dorg.whitesource.product=Transform Service" \ + -DsaveReportAs=deploy_dir/3rd-party.xlsx + +echo "Local deploy directory content:" +ls -lA deploy_dir + +popd +set +vex +echo "========================== Finishing Prepare Staging Deploy Script ==========================" diff --git a/_ci/release.sh b/_ci/release.sh new file mode 100644 index 00000000..1eda8eef --- /dev/null +++ b/_ci/release.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +echo "=========================== Starting Release Script ===========================" +PS4="\[\e[35m\]+ \[\e[m\]" +set -vex +pushd "$(dirname "${BASH_SOURCE[0]}")/../" + +# For PR builds only execute a Dry Run of the release +[ "${TRAVIS_PULL_REQUEST}" = "false" ] && DRY_RUN="" || DRY_RUN="-DdryRun" + +# Travis CI runner work on DETACHED HEAD, so we need to checkout the release branch +git checkout -B "${TRAVIS_BRANCH}" + +# Run the release plugin - with "[skip ci]" in the release commit message +mvn -B \ + ${DRY_RUN} \ + -Prelease \ + "-Darguments=-Prelease -DskipTests -Dmaven.javadoc.skip -Dadditionalparam=-Xdoclint:none" \ + release:clean release:prepare release:perform \ + -DscmCommentPrefix="[maven-release-plugin][skip ci] " \ + -Dusername=alfresco-build \ + -Dpassword=${GIT_PASSWORD} + +popd +set +vex +echo "=========================== Finishing Release Script ==========================" diff --git a/_ci/settings.xml b/_ci/settings.xml new file mode 100644 index 00000000..b348700f --- /dev/null +++ b/_ci/settings.xml @@ -0,0 +1,74 @@ + + + + alfresco-internal + + true + + + + alfresco-internal + Alfresco Internal Repository + https://artifacts.alfresco.com/nexus/content/groups/internal + + + + + alfresco-internal + Alfresco Internal Repository + https://artifacts.alfresco.com/nexus/content/groups/internal + + + + + ${env.WHITESOURCE_TOKEN} + + + + + + + + alfresco-internal + bamboo + ${env.NEXUS_PASSWORD} + + + + alfresco-internal-snapshots + bamboo + ${env.NEXUS_PASSWORD} + + + alfresco-internal-releases + bamboo + ${env.NEXUS_PASSWORD} + + + alfresco-enterprise-snapshots + bamboo + ${env.NEXUS_PASSWORD} + + + alfresco-enterprise-releases + bamboo + ${env.NEXUS_PASSWORD} + + + alfresco-public-snapshots + bamboo + ${env.NEXUS_PASSWORD} + + + alfresco-public + bamboo + ${env.NEXUS_PASSWORD} + + + + quay.io + alfresco+bamboo + ${env.QUAY_PASSWORD} + + + diff --git a/_ci/whitesource.sh b/_ci/whitesource.sh new file mode 100644 index 00000000..0a786da3 --- /dev/null +++ b/_ci/whitesource.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +echo "=========================== Starting WhiteSource Script ===========================" +PS4="\[\e[35m\]+ \[\e[m\]" +set -vex +pushd "$(dirname "${BASH_SOURCE[0]}")/../" + + +mvn clean install \ + -DskipTests org.whitesource:whitesource-maven-plugin:update \ + -Dorg.whitesource.failOnError=true \ + -Dorg.whitesource.forceUpdate=true \ + -Dorg.whitesource.checkPolicies=true \ + -Dorg.whitesource.forceCheckAllDependencies=true \ + -Dorg.whitesource.ignorePomModules=false \ + "-Dorg.whitesource.product=Transform Service" \ + -Dmaven.wagon.http.pool=false + +popd +set +vex +echo "=========================== Finishing WhiteSource Script ==========================" + diff --git a/alfresco-docker-alfresco-pdf-renderer/pom.xml b/alfresco-docker-alfresco-pdf-renderer/pom.xml index 26d14c10..666d06a6 100644 --- a/alfresco-docker-alfresco-pdf-renderer/pom.xml +++ b/alfresco-docker-alfresco-pdf-renderer/pom.xml @@ -6,7 +6,7 @@ org.alfresco - alfresco-docker-transformers + alfresco-transform-core 2.0.19-SNAPSHOT ../pom.xml @@ -66,8 +66,8 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + ${image.name}:${image.tag} @@ -84,13 +84,12 @@ - enterpriseDocker + local io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} build-image @@ -112,44 +111,20 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + + - ${image.registry}/${image.name}:${image.tag} + ${image.name}:${image.tag} + ${image.registry} ${project.basedir}/ - - - - - build-push-image - install - - build - push - - - - - - - - - - master - - - - io.fabric8 - fabric8-maven-plugin - ${dependency.fabric8.version} - - + - ${image.registry}/${image.name} + ${image.name}:${image.tag} ${project.basedir}/ @@ -178,9 +153,10 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} - + + + ${image.name}:${project.version} ${image.registry} @@ -188,6 +164,13 @@ ${project.basedir}/ + + + ${image.name}:${project.version} + + ${project.basedir}/ + + diff --git a/alfresco-docker-imagemagick/pom.xml b/alfresco-docker-imagemagick/pom.xml index 8f79c0c8..ad19471a 100644 --- a/alfresco-docker-imagemagick/pom.xml +++ b/alfresco-docker-imagemagick/pom.xml @@ -6,7 +6,7 @@ org.alfresco - alfresco-docker-transformers + alfresco-transform-core 2.0.19-SNAPSHOT ../pom.xml @@ -66,8 +66,8 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + ${image.name}:${image.tag} @@ -84,13 +84,12 @@ - enterpriseDocker + local io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} build-image @@ -112,44 +111,20 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + + - ${image.registry}/${image.name}:${image.tag} + ${image.name}:${image.tag} + ${image.registry} ${project.basedir}/ - - - - - build-push-image - install - - build - push - - - - - - - - - - master - - - - io.fabric8 - fabric8-maven-plugin - ${dependency.fabric8.version} - - + - ${image.registry}/${image.name} + ${image.name}:${image.tag} ${project.basedir}/ @@ -178,9 +153,10 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} - + + + ${image.name}:${project.version} ${image.registry} @@ -188,6 +164,13 @@ ${project.basedir}/ + + + ${image.name}:${project.version} + + ${project.basedir}/ + + diff --git a/alfresco-docker-libreoffice/pom.xml b/alfresco-docker-libreoffice/pom.xml index 31188001..a20826dd 100644 --- a/alfresco-docker-libreoffice/pom.xml +++ b/alfresco-docker-libreoffice/pom.xml @@ -6,7 +6,7 @@ org.alfresco - alfresco-docker-transformers + alfresco-transform-core 2.0.19-SNAPSHOT ../pom.xml @@ -74,8 +74,8 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + ${image.name}:${image.tag} @@ -92,13 +92,12 @@ - enterpriseDocker + local io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} build-image @@ -120,44 +119,20 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + + - ${image.registry}/${image.name}:${image.tag} + ${image.name}:${image.tag} + ${image.registry} ${project.basedir}/ - - - - - build-push-image - install - - build - push - - - - - - - - - - master - - - - io.fabric8 - fabric8-maven-plugin - ${dependency.fabric8.version} - - + - ${image.registry}/${image.name} + ${image.name}:${image.tag} ${project.basedir}/ @@ -186,9 +161,10 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} - + + + ${image.name}:${project.version} ${image.registry} @@ -196,6 +172,13 @@ ${project.basedir}/ + + + ${image.name}:${project.version} + + ${project.basedir}/ + + diff --git a/alfresco-docker-tika/pom.xml b/alfresco-docker-tika/pom.xml index 6631ef9e..97bbed0e 100644 --- a/alfresco-docker-tika/pom.xml +++ b/alfresco-docker-tika/pom.xml @@ -6,7 +6,7 @@ org.alfresco - alfresco-docker-transformers + alfresco-transform-core 2.0.19-SNAPSHOT ../pom.xml @@ -138,8 +138,8 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + ${image.name}:${image.tag} @@ -156,13 +156,12 @@ - enterpriseDocker + local io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} build-image @@ -184,44 +183,20 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} + + - ${image.registry}/${image.name}:${image.tag} + ${image.name}:${image.tag} + ${image.registry} ${project.basedir}/ - - - - - build-push-image - install - - build - push - - - - - - - - - - master - - - - io.fabric8 - fabric8-maven-plugin - ${dependency.fabric8.version} - - + - ${image.registry}/${image.name} + ${image.name}:${image.tag} ${project.basedir}/ @@ -250,9 +225,10 @@ io.fabric8 fabric8-maven-plugin - ${dependency.fabric8.version} - + + + ${image.name}:${project.version} ${image.registry} @@ -260,6 +236,13 @@ ${project.basedir}/ + + + ${image.name}:${project.version} + + ${project.basedir}/ + + diff --git a/alfresco-transformer-base/pom.xml b/alfresco-transformer-base/pom.xml index 952966fe..adde6ffe 100644 --- a/alfresco-transformer-base/pom.xml +++ b/alfresco-transformer-base/pom.xml @@ -3,7 +3,7 @@ org.alfresco - alfresco-docker-transformers + alfresco-transform-core 2.0.19-SNAPSHOT ../pom.xml diff --git a/docs/build-and-release.md b/docs/build-and-release.md new file mode 100644 index 00000000..0c1d88bb --- /dev/null +++ b/docs/build-and-release.md @@ -0,0 +1,106 @@ +# Build +The `alfresco-transform-core` project uses _Travis CI_. \ +The `.travis.yml` config file can be found in the root of the repository. + + +## Stages and Jobs +1. **Build**: Java Build with Unit and Integration Tests, WhiteSource +2. **Release**: Publish to Quay & DockerHub, Publish the S3 staging +3. **Company Release**: Publish to S3 release + + +## Branches +Travis CI builds differ by branch: +* `master`: + - regular builds which include only the _Build_ stage; + - the _Build_ stage updates the `latest` T-Engines images (only + from the `master` branch) on both Quay and DockerHub: + - alfresco/alfresco-pdf-renderer + - alfresco/alfresco-imagemagick + - alfresco/alfresco-tika + - alfresco/alfresco-libreoffice + +* `ATS-*` (any branch starting with "ATS-"), `SP/1.3.N` and `SP/2.0.N`: + - regular builds which include only the _Build_ stage; + - although built and used on the CI agent, no docker images are updated on remote repositories; +* `release`: + - builds that include the _Build_ and _Release_ stages; + - PR builds with release as the target branch only execute dry runs of the actual release, + without actually publishing anything; +* `release/SP/1.3.N` and `release/SP/2.0.N`: + - builds that include the _Build_ and _Release_ stages; + - PR builds with one of the release branches as the target branch only execute dry runs of the actual release, +without actually publishing anything; + - the branches should be deleted once the builds are completed +* `company_release`: + - builds that include only the `company_release` stage; + - the `company_release` branch should be used for one-off events; once used (a build + completes), the branch should be deleted. + +All other branches are ignored. + + +## Release process steps & info +Prerequisites: + - the `master` branch has a green build and it contains all the changes that should be included in + the next release + +Steps: +1. Create a new branch from the `master` branch with the name `ATS-###_release_version`; +2. (Optional) Update the project version if the current POM version is not the next desired + release; use a maven command, i.e. `mvn versions:set -DnewVersion=2.0.19-SNAPSHOT versions:commit`; +3. Update the project's dependencies (remove the `-SNAPSHOT` suffixes) through a new commit on the + `ATS-###_release_version` branch; +4. Open a new Pull Request from the `ATS-###_release_version` branch into the `release` branch and + wait for a green build; the **Release** stage on the PR build will only execute a _Dry_Run_ of + the release; +5. Once it is approved, merge the PR through the **Create a merge commit** option (as opposed to + _Squash and merge_ or _Rebase and merge_), delete the `ATS-###_release_version` branch, and wait + for a green build on the `release` branch; +6. Merge back the `release` branch into the `master` branch; +7. Update the project dependencies (append the `-SNAPSHOT` suffixes) + +Steps (6) and (7) can be done either directly from an IDE or through the GitHub flow, by creating +another branch and PR. Just make sure you don't add extra commits directly to the release branch, +as this will trigger another release. + +After the release, the reference deployments (docker-compose, helm) should be updated with the +latest docker image tags. + +### Release of a Service Pack (SP/1.3.N or SP/2.0.N) +Prerequisites: + - the `SP/` ( could be 1.3.N or 2.0.N) branch has a green build and it contains all the changes that should be included in + the next release + +**NOTE**: Make sure you release the proper version and the `SP/` is merged into the correct `release/SP/` (both having the same version). +E.g. When releasing a 1.3.N Service Pack, a new branch (`ATS-###_release_version`) should be created from `SP/1.3.N` and the PR should target the `release/SP/1.3.N` branch. + +Steps (similar to those describing the release from `master`): +1. Create a new branch from the `SP/` (SP/1.3.N or SP/2.0.N) branch with the name `ATS-###_release_version`; +2. (Optional) Update the project version if the current POM version is not the next desired + release; use a maven command, i.e. `mvn versions:set -DnewVersion=1.3.1-SNAPSHOT versions:commit`; +3. Update the project's dependencies (remove the `-SNAPSHOT` suffixes) through a new commit on the + `ATS-###_release_version` branch; +4. Open a new Pull Request from the `ATS-###_release_version` branch into the `release/SP/` branch and + wait for a green build; the **Release** stage on the PR build will only execute a _Dry_Run_ of + the release; +5. Once it is approved, merge the PR through the **Create a merge commit** option (as opposed to + _Squash and merge_ or _Rebase and merge_), delete the `ATS-###_release_version` branch, and wait + for a green build on the `release` branch; +6. Merge back the `release/SP/` branch into the `SP/` branch; +7. Update the project dependencies (append the `-SNAPSHOT` suffixes) + +## Company Release process steps & info +Prerequisites: + - Engineering Release of the desired version has been done. + +Steps: +1. Create a new `company_release` branch from `release`. This job uses the git tag to identify the + version to be uploaded to S3 release bucket. +2. If the last commit on `company_release` branch contains `[skip_ci]` in its message it will + prevent Travis from starting a build. Push an empty commit in order to trigger the build, + `git commit --allow-empty -m "Company Release "`. Wait for a green build on the branch. +3. Delete local and remote `company_release` branch. + +### Release of a Service Pack (SP/1.3.N or SP/2.0.N) +Follow the steps described in the previous section, but instead of creating the `company_release` from `release`, it needs to be created from the proper `release/SP/` (depending on what version needs the Company Release). diff --git a/pom.xml b/pom.xml index 07cf4270..c1a1c531 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.alfresco - alfresco-docker-transformers + alfresco-transform-core 2.0.19-SNAPSHOT pom @@ -18,7 +18,6 @@ 1.8 latest 2.0.12 - 3.5.37 2.1.1.RELEASE 7.3 8.8 @@ -38,9 +37,9 @@ - scm:git:https://git.alfresco.com/Repository/alfresco-docker-transformers.git - scm:git:https://git.alfresco.com/Repository/alfresco-docker-transformers.git - https://git.alfresco.com/Repository/alfresco-docker-transformers + scm:git:https://github.com/Alfresco/alfresco-transform-core.git + scm:git:https://github.com/Alfresco/alfresco-transform-core.git + https://github.com/Alfresco/alfresco-transform-core HEAD @@ -124,15 +123,15 @@ - alfresco-internal-snapshots - https://artifacts.alfresco.com/nexus/content/repositories/enterprise-snapshots + alfresco-public-snapshots + https://artifacts.alfresco.com/nexus/content/repositories/public-snapshots - alfresco-internal - https://artifacts.alfresco.com/nexus/content/repositories/enterprise-releases + alfresco-public + https://artifacts.alfresco.com/nexus/content/repositories/public - + @@ -177,8 +176,12 @@ org.alfresco + + io.fabric8 + fabric8-maven-plugin + 3.5.42 + -