From 742c103cc0818af0f3f8af23722ea1c89585abfc Mon Sep 17 00:00:00 2001
From: Eugenio Romano <eromano@users.noreply.github.com>
Date: Sun, 10 May 2020 18:32:47 +0100
Subject: [PATCH] Deploy PR on request (#5642)

* deploy PR on request

* [create peview]

* [create peview]

* script fix [create preview]

* [create peview]

* change creation preview

* [create peview]

* Update deploy-pr.sh

* [create peview]

* update node and dist

* [create peview]

* [create peview]

* [create peview]

* [create peview]

* [create peview]

* [create peview]

* [create peview]

* [create preview]

* subfolder issue

* [create preview]

* [create preview]

* [create preview]

* [create preview]

* [create preview]

* [create preview]
---
 .travis.yml                                | 20 ++---
 Dockerfile                                 | 17 +----
 README.md                                  |  1 +
 docker/entrypoint.sh                       |  6 ++
 package-lock.json                          | 89 +++++++++++-----------
 package.json                               |  3 +-
 scripts/travis/deploy/deploy-pr.sh         | 10 ++-
 scripts/travis/deploy/move-dist-folder.js  | 63 ---------------
 scripts/travis/deploy/rancher-pr-deploy.js |  4 +-
 9 files changed, 75 insertions(+), 138 deletions(-)
 delete mode 100755 scripts/travis/deploy/move-dist-folder.js

diff --git a/.travis.yml b/.travis.yml
index 1fa839cf08..4cab64350d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,9 +3,9 @@ git:
   quiet: true
 
 language: node_js
-dist: trusty
+dist: bionic
 node_js:
-  - '12.13.1'
+  - '12.16.3'
 
 install:
     echo "no install"
@@ -19,7 +19,6 @@ branches:
   - /.*beta.*/
   - /.*greenkeeper.*/
 
-# TRAVIS_PULL_REQUEST == false means is running on dev branch and is not a PR
 stages:
   - name: Lint & Build Dist
     if: type = pull_request OR type = api
@@ -27,6 +26,8 @@ stages:
     if: (type = push OR type = cron) AND tag IS blank
   - name: Update Rancher
     if: (type = push AND tag IS blank)  OR type = api
+  - name: Deploy PR
+    if: type = pull_request && commit_message =~ /\[create preview\]/
   - name: Check bundle
     if: type = push AND tag IS blank
   - name: Unit test
@@ -46,12 +47,8 @@ before_script:
     - "sudo chown root /opt/google/chrome/chrome-sandbox"
     - "sudo chmod 4755 /opt/google/chrome/chrome-sandbox"
     - export GIT_HASH=`git rev-parse HEAD`
-
-before_install:
-    - export CHROME_BIN=chromium-browser
-    - export DISPLAY=:99.0
-    - sh -e /etc/init.d/xvfb start
-    - sleep 3 # give xvfb some time to start
+services:
+    - xvfb
 
 jobs:
     include:
@@ -110,12 +107,17 @@ jobs:
           name: Update Rancher
           script: ./scripts/travis/deploy/deploy.sh
 
+        - stage: Deploy PR
+          name: Deploy PR
+          script: ./scripts/travis/deploy/deploy-pr.sh
+
 
         - stage: Check bundle
           script:
           - ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
           - ./scripts/npm-check-bundles.sh -v ${ADF_VERSION}
 
+
         - stage: Trigger ADF child build
           name: Trigger ADF child build
           script: ./scripts/travis/update/trigger-travis-children.sh --branch $TRAVIS_BRANCH Alfresco $TRAVIS_ACCESS_TOKEN
diff --git a/Dockerfile b/Dockerfile
index 946f3641ec..7529e71b70 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,15 +1,3 @@
-# 1. Generate licenses
-
-FROM node:12.16.2-alpine3.9 AS builder
-WORKDIR /usr/src/alfresco
-COPY package.json package.json
-
-RUN mkdir -p ./licenses && \
-  yarn licenses list > ./licenses/licenses.txt && \
-  yarn licenses generate-disclaimer > ./licenses/disclaimer.txt
-
-# 2. Generate image
-
 FROM nginx:stable-alpine
 LABEL version="3.0.0"
 
@@ -18,18 +6,15 @@ ARG GROUPID=1000
 ARG USERNAME=adf
 ARG USERID=33011
 
-ARG BUILD_NUMBER
-
 COPY ./docker/nginx.conf /etc/nginx/nginx.conf
 COPY ./docker/entrypoint.sh /
 
 WORKDIR /usr/share/nginx/html
 COPY demo-shell/dist/ .
-COPY --from=builder /usr/src/alfresco/licenses ./licenses
 
 RUN addgroup -g ${GROUPID} ${GROUPNAME} && \
   adduser -S -u ${USERID} -G ${GROUPNAME} -s "/bin/bash" ${USERNAME} && \
-  chown -R ${USERNAME}:${GROUPNAME} ./${BUILD_NUMBER}/app.config.json && \
+  chown -R ${USERNAME}:${GROUPNAME} ./**/app.config.json && \
   chown -R ${USERNAME}:${GROUPNAME} /var/cache/nginx && \
   touch /var/run/nginx.pid && \
   chown -R ${USERNAME}:${GROUPNAME} /var/run/nginx.pid && \
diff --git a/README.md b/README.md
index a1905bdea4..6a56ca22e6 100644
--- a/README.md
+++ b/README.md
@@ -66,3 +66,4 @@ All components are supported in the following browsers:
 * Due to a [known issue](https://bugzilla.mozilla.org/show_bug.cgi?id=1188880) in Firefox, the Alfresco Upload Component does not currently support folder upload functionality on Firefox.    
 
 See the [Browser Support](BROWSER-SUPPORT.md) article for more details. 
+
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
index 1f7d7ee24a..528b605486 100644
--- a/docker/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -57,4 +57,10 @@ if [ -n "${APP_BASE_SHARE_URL}" ];then
     -i ./app.config.json
 fi
 
+if [[ -n "${BASE_PATH}" ]]
+then
+  sed s%href=\"/\"%href=\""${BASE_PATH}"\"%g \
+    -i ./index.html
+fi
+
 nginx -g "daemon off;"
diff --git a/package-lock.json b/package-lock.json
index 01f576ced6..6c9b8a2bdf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,16 +1,16 @@
 {
   "name": "alfresco-ng2-components",
-  "version": "3.7.0",
+  "version": "3.8.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
     "@alfresco/adf-cli": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-O3QiEXBBY3Ar+XvPVdVfrw8NYxNr1juXG9qU80iRFAvmE4u5OymEpBJS7aYT100MsUg2ntpxNtnRzvpNPP7Ofg==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.8.0.tgz",
+      "integrity": "sha512-8eMvOGcGc/younoGZKTg9Z2zT1RetnsBrmg9HqLf3hKDBn+wo2B6hd1NBTTWrpdjk9lX1VlbC5I0cdPHMe7CJw==",
       "dev": true,
       "requires": {
-        "@alfresco/adf-testing": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
+        "@alfresco/adf-testing": "3.8.0",
         "@angular-devkit/core": "^7.2.15",
         "commander": "^4.0.0",
         "ejs": "^2.6.1",
@@ -22,66 +22,66 @@
       }
     },
     "@alfresco/adf-content-services": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-DzK7cgeujufLMOthx7wzbDvTvFs5rRvF56I2AxiFUj48mao9EIl+IxHudwzBS814Tln1sV1vY7C+tq/VqX1pzg==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.8.0.tgz",
+      "integrity": "sha512-+YpSqF8cRFkBozKhkH0TpMHZ4ybYEL3IdQaI7JXOobDd/u2AgGfmmbwBZcuCMYF6YpLkoO9ZWU8IiGraf3kKZw==",
       "requires": {
         "tslib": "^1.9.0"
       }
     },
     "@alfresco/adf-core": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-GQMoGBsm5PBhl3iShR3+Q6iiIQ15DLRtL2uF8qi6jajH0MzUycxGri/bN8oEscz6IJ2WBYJM7AMI5qF452Wikg==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.8.0.tgz",
+      "integrity": "sha512-RwWa/loMb4KRL2YoUSFXt6b0x3w1anBxzpqYhe6sFt0YACtITjGmyoW3bOJIlQtY1TF9170YrVOv6RaVni+wTw==",
       "requires": {
         "tslib": "^1.9.0"
       }
     },
     "@alfresco/adf-extensions": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-PyoGm0psaANn7TluZBQ/8irUAoz8SWxGonR1PoJM06YpI9IKWActqZwLSE2GsyTS2ZbcGD+a/45z9DscHTo/6w==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.8.0.tgz",
+      "integrity": "sha512-uKG8L+4k1cPHeVFFicBFt0EY7a7xN0AlnrZkPwqr/s5Q/Mif9bqmZqMzIJNOrdJAICg8HnlJi5c5dhOMHAarCg==",
       "requires": {
         "tslib": "^1.9.0"
       }
     },
     "@alfresco/adf-insights": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-qOrBF9GjV54pi/XZ3jsl0zF0G0zREdwKvNyJA+aXolrn8+KdCEUgifklcQ57kpngjWFw8fPuHsN4jNRAFv94Vg==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.8.0.tgz",
+      "integrity": "sha512-1cxzL/hVZFgWW0R2qzU9oYzl9n5pzb3hE5X65tCrl0nh8YRoAGsEY4vb6iXrDIkaA7yLbSmHpaUEllBiiInDtw==",
       "requires": {
         "tslib": "^1.9.0"
       }
     },
     "@alfresco/adf-process-services": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-+qMbQkl7ApR5etxx915DWYN0DtvkRzL5M8FZDZbMgn86aWA7Nqj3IGlKdcmtIqXKao7lPvQgkEPBUwXFQ0gIug==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.8.0.tgz",
+      "integrity": "sha512-f90dFRkmdy8Wlysc6eGfJx17kymC/vBcnJE6ywm2P8NFo209lmm/WRq/70HKju8GlzBewYlzU6Nfz9yEjdIHGg==",
       "requires": {
         "tslib": "^1.9.0"
       }
     },
     "@alfresco/adf-process-services-cloud": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-ZYF/sgsLWI1z+kJ2UkRPNTm+ccOqCxu4+8mEmyi80iF8ZJ1BHxW3wKsq3jLtVllgipjFgQQNVMhq08rjg6aczw==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.8.0.tgz",
+      "integrity": "sha512-tWdiHVmESFdFbapu1u9Ys8gpPDZbV5XgVpphz5E2xLiqeZH3r9kfX5wSu55tecW/PbjB4JFlZ/jzzIfIa3igNQ==",
       "requires": {
         "tslib": "^1.9.0"
       }
     },
     "@alfresco/adf-testing": {
-      "version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
-      "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
-      "integrity": "sha512-v3nJ0ONK/f4WdZKdXXYUVLZnbQB7ku9eC7pGd9SjegPZFU64ztW0+vYM8f8yeX8XD768fPx+v59+xVaPZpwjOw==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.8.0.tgz",
+      "integrity": "sha512-feinvQ62LLpIHca7SnCc6mRK2vhGeK8w+VCmSZlHkcf97YF+nou0JuFi/CQ6aAWWfaQtNZrm9VjXEeUUvh1s1Q==",
       "dev": true,
       "requires": {
         "tslib": "^1.9.0"
       }
     },
     "@alfresco/js-api": {
-      "version": "3.8.0-99f5e9a4c468368f9538b5f6ec6473cc0dd6af78",
-      "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.8.0-99f5e9a4c468368f9538b5f6ec6473cc0dd6af78.tgz",
-      "integrity": "sha512-ip90kBBTqRFUSkPwVev1A0Q7g7oCrxuOuG7KObcgvt77KdH3dLYbYMn0UmVS0i2BuwxITRrIqZ+bxynF3Tt4Rw==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.8.0.tgz",
+      "integrity": "sha512-y7MYkK4XrtGJUwmWSXroOnqCfUz7iMCpccO7qtOVrfEqlp8euSw5KkwW+AuLyDtshIKoKaJvATp7YULo4tTL1Q==",
       "requires": {
         "event-emitter": "^0.3.5",
         "minimatch": "3.0.4",
@@ -7110,7 +7110,8 @@
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true
     },
     "for-own": {
       "version": "1.0.0",
@@ -9233,7 +9234,8 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true
     },
     "is-callable": {
       "version": "1.1.4",
@@ -9329,7 +9331,8 @@
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
     },
     "is-extglob": {
       "version": "2.1.1",
@@ -9466,6 +9469,7 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -9601,7 +9605,8 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
     },
     "isstream": {
       "version": "0.1.2",
@@ -11849,12 +11854,6 @@
         }
       }
     },
-    "ncp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
-      "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
-      "dev": true
-    },
     "needle": {
       "version": "2.4.1",
       "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz",
@@ -18361,14 +18360,14 @@
           }
         },
         "mime": {
-          "version": "2.4.4",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-          "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA=="
+          "version": "2.4.5",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz",
+          "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w=="
         },
         "qs": {
-          "version": "6.9.3",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
-          "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw=="
+          "version": "6.9.4",
+          "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
+          "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ=="
         },
         "readable-stream": {
           "version": "3.6.0",
diff --git a/package.json b/package.json
index 157ef21037..cd87891960 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
     "start:dist": "ng lint dist && npm run validate-config && ng serve dist --prod --open",
     "build": "npm run validate-config && ng build dist",
     "build:dev": "npm run validate-config  && npm run style:dev && ng build dev",
-    "build:dist": "npm run validate-config && node --max-old-space-size=12000 node_modules/@angular/cli/bin/ng build dist --prod",
+    "build:dist": "npm run validate-config && node --max-old-space-size=12000 node_modules/@angular/cli/bin/ng build dist --prod  --base-href .",
     "build:dist:stats": "npm run validate-config && node --max-old-space-size=12000 node_modules/@angular/cli/bin/ng build dist --prod --stats-json",
     "build:dist:e2e": "npm run validate-config &&  node --max-old-space-size=12000 node_modules/@angular/cli/bin/ng build dist --prod --configuration=e2e --stats-json ",
     "style:dev": "npm run webpack -- --config  ./lib/config/webpack.style.js --progress --profile --bail",
@@ -182,7 +182,6 @@
     "mdast-zone": "^3.0.1",
     "mini-css-extract-plugin": "^0.9.0",
     "nconf": "^0.10.0",
-    "ncp": "^2.0.0",
     "ng-packagr": "4.7.1",
     "node-sass": "4.13.0",
     "optimize-css-assets-webpack-plugin": "^5.0.3",
diff --git a/scripts/travis/deploy/deploy-pr.sh b/scripts/travis/deploy/deploy-pr.sh
index cd4b8d081c..73c964c53e 100755
--- a/scripts/travis/deploy/deploy-pr.sh
+++ b/scripts/travis/deploy/deploy-pr.sh
@@ -9,10 +9,16 @@ TAG_VERSION=$(./scripts/travis/deploy/get-docker-image-tag-name.sh)
 echo "Running the docker with tag" $TAG_VERSION
 
 # Publish Image to docker
-node ./scripts/travis/deploy/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER
+
+mkdir  "./demo-shell/tmp/"
+mv ./demo-shell/dist/* ./demo-shell/tmp
+
+mkdir  -p "./demo-shell/dist/${TRAVIS_BUILD_NUMBER}"
+mv ./demo-shell/tmp/* ./demo-shell/dist/${TRAVIS_BUILD_NUMBER}
+
 ./node_modules/@alfresco/adf-cli/bin/adf-cli docker-publish --loginCheck --loginUsername "$DOCKER_REPOSITORY_USER" --loginPassword "$DOCKER_REPOSITORY_PASSWORD" --loginRepo "$DOCKER_REPOSITORY_DOMAIN" --dockerRepo "$DOCKER_REPOSITORY" --dockerTags "$TAG_VERSION" --pathProject "$(pwd)"
 
 echo "Update rancher with docker tag" $TAG_VERSION  --url $REPO_RANCHER --environment_name $REPO_RANCHER_ADF_NAME
 
 # Deploy PR in Rancher env
-(node --no-deprecation ./scripts/travis/deploy/rancher-pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1);
+(node --no-deprecation ./scripts/travis/deploy/rancher-pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "alfresco/demo-shell:develop-$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1);
diff --git a/scripts/travis/deploy/move-dist-folder.js b/scripts/travis/deploy/move-dist-folder.js
deleted file mode 100755
index bdcd1a4612..0000000000
--- a/scripts/travis/deploy/move-dist-folder.js
+++ /dev/null
@@ -1,63 +0,0 @@
-var program = require('commander');
-var fs = require('fs');
-var path = require('path');
-var ncp = require('ncp').ncp;
-var rimraf = require('rimraf');
-
-ncp.limit = 16;
-
-replaceHrefInIndex = (href) => {
-    fs.readFile(`demo-shell/dist/${href}/index.html`, 'utf8', function (err, data) {
-        if (err) {
-            return console.log(err);
-        }
-
-        let result = data.replace(`base href="/"`, `base href=\"/${href}/\"`);
-
-        fs.writeFile(`demo-shell/dist/${href}/index.html`, result, 'utf8', function (err) {
-            if (err) return console.log(err);
-        });
-    });
-};
-
-
-async function main() {
-
-    program
-        .version('0.1.0')
-        .option('--base-href  [type]', '')
-        .parse(process.argv);
-
-
-    let outputTemp = path.resolve(__dirname, '../../../demo-shell/', program.baseHref);
-    console.log('output ' + outputTemp);
-
-    let distFolder = path.resolve(__dirname, '../../../demo-shell/dist');
-
-    fs.rename(distFolder, outputTemp, (err) => {
-        if (err) throw err;
-        console.log('renamed complete');
-
-        let distFolderNew = path.resolve(__dirname, '../../../demo-shell/dist', program.baseHref);
-
-        if (!fs.existsSync(distFolderNew)){
-            fs.mkdirSync(distFolder);
-            fs.mkdirSync(distFolderNew);
-        }
-
-        ncp(outputTemp, distFolderNew, (err) => {
-            if (err) {
-                return console.error(err);
-            }
-
-            replaceHrefInIndex(program.baseHref);
-
-            rimraf(outputTemp,  ()=> { console.log('output temp removed'); });
-
-        });
-
-    });
-
-}
-
-main();
diff --git a/scripts/travis/deploy/rancher-pr-deploy.js b/scripts/travis/deploy/rancher-pr-deploy.js
index 1bfd0cb324..88525d0ed1 100644
--- a/scripts/travis/deploy/rancher-pr-deploy.js
+++ b/scripts/travis/deploy/rancher-pr-deploy.js
@@ -98,7 +98,7 @@ async function main() {
             "devices": [],
             "logConfig": {"driver": "", "config": {}},
             "dataVolumesFromLaunchConfigs": [],
-            "imageUuid": program.image,
+            "imageUuid": "docker:"+program.image,
             "ports": [],
             "blkioWeight": null,
             "cgroupParent": null,
@@ -172,6 +172,8 @@ async function main() {
         "fqdn": null
     };
 
+    console.log("Create Service ");
+
     var createService = await asyncRequest({
         url: `${program.server}/v2-beta/projects/${environmentId}/service`,
         method: 'POST',