From 15ea62c8d779ff09e2f985c6dea32070e860442a Mon Sep 17 00:00:00 2001 From: "mathieu.brunot" Date: Tue, 11 Jun 2019 21:10:07 +0200 Subject: [PATCH] :construction_worker: Build devenv for release Signed-off-by: mathieu.brunot --- .travis.yml | 2 +- manage.sh | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9332909313..545bbee48c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,4 +39,4 @@ env: #- NODE_VERSION=10.16.0 COMMAND=run-devenv #- NODE_VERSION=10.16.0 COMMAND=test - NODE_VERSION=10.16.0 COMMAND=build-release - #- NODE_VERSION=10.16.0 COMMAND=run-release + - NODE_VERSION=10.16.0 COMMAND=run-release diff --git a/manage.sh b/manage.sh index a3f1718061..81edd11ba2 100755 --- a/manage.sh +++ b/manage.sh @@ -47,6 +47,10 @@ function run-devenv { } function build-release-frontend-local { + if ! $(docker images | grep $IMGNAME | grep -q $REV); then + build-devenv + fi + docker run -ti --rm \ -w /home/uxbox/uxbox/frontend \ -v `pwd`:/home/uxbox/uxbox \ @@ -64,24 +68,43 @@ function build-release-frontend { rm -rf docker/release.frontend/dist || exit 1; } -function build-release-backend { - rm -rf docker/release.backend/dist || exit 1; +function build-release-backend-local { + rm -rf backend/dist || exit 1; rsync -avr \ --exclude="/test" \ --exclude="/resources/public/media" \ --exclude="/target" \ --exclude="/scripts" \ --exclude="/.*" \ - backend/ docker/release.backend/dist/; + backend/ backend/dist/; +} + +function build-release-backend { + build-release-backend-local || exit 1; + rm -rf docker/release.backend/dist || exit 1; + cp -r backend/dist docker/release.backend/ || exit 1; docker build --rm=true -t ${IMGNAME}-backend:$REV -t ${IMGNAME}-backend:latest docker/release.backend/ rm -rf docker/release.backend/dist || exit 1; } function build-release { + echo "Building frontend release..." build-release-frontend || exit 1; + echo "Building backend release..." build-release-backend || exit 1; } +function run-release { + kill-container + + if ! $(docker images | grep $IMGNAME-backend | grep -q $REV); then + build-release + fi + + echo "Running production images..." + sudo docker-compose -f ./docker/docker-compose.yml up -d +} + function usage { echo "UXBOX build & release manager v$REV" echo "USAGE: $0 OPTION" @@ -96,6 +119,7 @@ function usage { echo "- build-release Build 'production ready' docker images for both backend and frontend" echo "- build-release-frontend Build a 'production ready' docker images for frontend only" echo "- build-release-backend Build a 'production ready' docker images for backend only" + echo "- run-release Run 'production ready' docker images for both backend and frontend" } case $1 in @@ -118,6 +142,9 @@ case $1 in build-release-backend) build-release-backend ;; + run-release) + run-release + ;; *) usage ;;