diff --git a/.gitignore b/.gitignore index 4aa32f6652c321c31058dca06f0f9e1e334bab39..92222168397e2ebdfeea8e9e74ae0b36abd03c52 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,4 @@ *.war *.class *.sublime-workspace -.vagrant/ -vm/webapps/ -vm/data/ -vm/test/ +.vagrant/ \ No newline at end of file diff --git a/build-config.sh b/build-config.sh deleted file mode 100755 index 447cfd857988edc8bc2aeb2bb452e1f11be40a81..0000000000000000000000000000000000000000 --- a/build-config.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -INCLUDE_FRONTEND_IN_WAR=1 - -# enable/disable (1/0) project building -BUILD_DTM=1 -BUILD_VIPRA_UTIL=1 -BUILD_VIPRA_CMD=1 -BUILD_VIPRA_UI=1 -BUILD_VIPRA_BACKEND=1 \ No newline at end of file diff --git a/build.sh b/build.sh index 7bf4ddf41198fc838d8a9f297352a52ff223d91c..8d4faa4fc530f2098b5667674828664efd8faebe 100755 --- a/build.sh +++ b/build.sh @@ -1,41 +1,64 @@ #!/bin/bash -source ./build-config.sh - -# ========================================================= -# DO NOT EDIT AFTER THIS POINT -# ========================================================= - -LOG="build.log" +####################################################################################### +# CONFIGURATION + +# enable/disable (1/0) project building +BUILD_DTM=1 +BUILD_VIPRA_UTIL=1 +BUILD_VIPRA_CMD=1 +BUILD_VIPRA_UI=1 +BUILD_VIPRA_BACKEND=1 + +# set to 1 to deploy backend after build completed +DEPLOY_AFTER_BUILD=1 +# copy backend to docker +DEPLOY_TO_DOCKER=1 +# copy backend to vagrant +DEPLOY_TO_VAGRANT=0 +# copy exploded WAR instead of *.war file +DEPLOY_EXPLODED_WAR=1 +# copy to ROOT, overwrite context path +DEPLOY_TO_ROOT=1 + +####################################################################################### + +PROJECT="vipra" +WAR_FILE="$PROJECT.war" +DIR="$(dirname "$(readlink -f "$0")")" +DOCKER_PATH="$DIR/docker/webapps" +VAGRANT_PATH="$DIR/vm/webapps" +WAR_PATH="$DIR/vipra-backend/target/$WAR_FILE" +EXPLODED_WAR_PATH="$DIR/vipra-backend/target/vipra" +LOG="$DIR/build.log" rm -f $LOG +# check commands + if [ $BUILD_DTM -eq 1 ]; then MAKE=$(command -v make 2>/dev/null) || { echo >&2 "make not found"; exit 1; } - echo using $MAKE | tee $LOG fi if [ $BUILD_VIPRA_UTIL -eq 1 ] || [ $BUILD_VIPRA_CMD -eq 1 ] || [ $BUILD_VIPRA_BACKEND -eq 1 ]; then JAVA=$(command -v java 2>/dev/null) || { echo >&2 "java not found"; exit 1; } - echo using $JAVA | tee $LOG - MVN=$(command -v mvn 2>/dev/null) || { echo >&2 "mvn not found"; exit 1; } - echo using $MVN | tee $LOG fi if [ $BUILD_VIPRA_UI -eq 1 ]; then NODE=$(command -v node 2>/dev/null) || { echo >&2 "node not found"; exit 1; } - echo using $NODE | tee $LOG - NPM=$(command -v npm 2>/dev/null) || { echo >&2 "npm not found"; exit 1; } - echo using $NPM | tee $LOG - BOWER=$(command -v bower 2>/dev/null) || { echo >&2 "bower not found"; exit 1; } - echo using $BOWER | tee $LOG - GULP=$(command -v gulp 2>/dev/null) || { echo >&2 "gulp not found"; exit 1; } - echo using $GULP | tee $LOG fi +# functions + +function deploy { + cd $1 + rm -rf ROOT ROOT.war $PROJECT $WAR_FILE + cp -r $2 $3 +} + # build dtm echo "" >> $LOG @@ -102,12 +125,6 @@ else exit 1 fi cd .. - rm -rf ./vipra-backend/src/main/public - if [ $INCLUDE_FRONTEND_IN_WAR -eq 1 ]; then - cp -r ./vipra-ui/public ./vipra-backend/src/main/public - else - mkdir ./vipra-backend/src/main/public - fi fi # build vipra-backend @@ -125,7 +142,28 @@ else echo "error" exit 1 fi + + SRC=$WAR_PATH + TARGET=$WAR_FILE + if [ $DEPLOY_TO_ROOT -eq 1 ]; then + TARGET="ROOT.war" + fi + if [ $DEPLOY_EXPLODED_WAR -eq 1 ]; then + SRC=$EXPLODED_WAR_PATH + TARGET=$PROJECT + if [ $DEPLOY_TO_ROOT -eq 1 ]; then + TARGET="ROOT" + fi + fi + + if [ $DEPLOY_TO_DOCKER -eq 1 ]; then + deploy $DOCKER_PATH $SRC $TARGET + fi + + if [ $DEPLOY_TO_VAGRANT -eq 1 ]; then + deploy $VAGRANT_PATH $SRC $TARGET + fi fi echo "complete" -exit $? +exit $? \ No newline at end of file diff --git a/docker/.dockerignore b/docker/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..46d0c1189235f96c2eedfcc2aab1d282c78097b6 --- /dev/null +++ b/docker/.dockerignore @@ -0,0 +1,2 @@ +webapps +webroot diff --git a/docker/docker-clean.sh b/docker/docker-clean.sh new file mode 100755 index 0000000000000000000000000000000000000000..8564f056e6b3d0a75afab657aa27aa3ca1445096 --- /dev/null +++ b/docker/docker-clean.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +docker kill $(docker ps -q) +docker rm $(docker ps -a -q) +docker rmi $(docker images -q -f dangling=true) +docker volume rm $(docker volume ls -qf dangling=true) \ No newline at end of file diff --git a/docker/nginx.conf b/docker/nginx.conf index feee6304ee134d2d2ea9014347cbe8a14b3783f7..9cae4d2869893a1b36e390256cc1196036b6d329 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -33,8 +33,16 @@ http { server_name _; root /webroot; index index.html; + location / { try_files $uri $uri/ /index.html; } + + location /rest/ { + proxy_buffering off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_pass http://localhost:8080/rest/; + } } } \ No newline at end of file diff --git a/vm/.gitignore b/vm/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..adbb97d2d3137fe76f2d8e88a55e1c2b285a6cd6 --- /dev/null +++ b/vm/.gitignore @@ -0,0 +1 @@ +data/ \ No newline at end of file