From 0fbdcad9e4308c04b7623b5dc13c6838fa869e83 Mon Sep 17 00:00:00 2001 From: Sambo Chea Date: Tue, 18 May 2021 10:57:37 +0700 Subject: [PATCH] Add build and run profile for docker --- apps/demo/.env | 2 ++ apps/demo/application-demo.yml | 2 ++ apps/demo/build.sh | 22 ++++++++++++++++++++++ apps/demo/move-file.sh | 10 ++++++++++ apps/demo/run.sh | 26 ++++++++++++++++++++++++++ apps/demo/variable.sh | 11 +++++++++++ 6 files changed, 73 insertions(+) create mode 100644 apps/demo/.env create mode 100644 apps/demo/application-demo.yml create mode 100644 apps/demo/build.sh create mode 100644 apps/demo/move-file.sh create mode 100644 apps/demo/run.sh create mode 100644 apps/demo/variable.sh diff --git a/apps/demo/.env b/apps/demo/.env new file mode 100644 index 0000000..3a2c672 --- /dev/null +++ b/apps/demo/.env @@ -0,0 +1,2 @@ +APP_PROFILE=demo +APP_DATA_DIR=/opt/cubetiq/data \ No newline at end of file diff --git a/apps/demo/application-demo.yml b/apps/demo/application-demo.yml new file mode 100644 index 0000000..8811dc3 --- /dev/null +++ b/apps/demo/application-demo.yml @@ -0,0 +1,2 @@ +server: + port: ${APP_PORT:8090} \ No newline at end of file diff --git a/apps/demo/build.sh b/apps/demo/build.sh new file mode 100644 index 0000000..158c6e3 --- /dev/null +++ b/apps/demo/build.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Get Execute Script Directory +SCRIPT_DIR=$(dirname "$0") + +# shellcheck disable=SC2039 +source "$SCRIPT_DIR"/variable.sh + +echo "===> Clean Gradle Build <===" +bash gradlew clean + +echo "===> Moving App File <===" +bash "$SCRIPT_DIR"/move-file.sh + +echo "===> Gradle Building Application <===" +bash gradlew build -x test + +echo "===> Docker Building Image <===" +docker build . -t "$ROOT_HUB" + +echo "===> Docker Pushing Image <===" +docker push "$ROOT_HUB" diff --git a/apps/demo/move-file.sh b/apps/demo/move-file.sh new file mode 100644 index 0000000..0abfab4 --- /dev/null +++ b/apps/demo/move-file.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Get Execute Script Directory +SCRIPT_DIR=$(dirname "$0") + +source "$SCRIPT_DIR"/variable.sh + +echo "===> Copy & Replace Application Profile <===" +rm -rf "$APP_MODULE_PATH"/src/main/resources/application-dev.yml +cp -f "$SCRIPT_DIR"/application-"$APP_PROFILE".yml "$APP_MODULE_PATH"/src/main/resources/ \ No newline at end of file diff --git a/apps/demo/run.sh b/apps/demo/run.sh new file mode 100644 index 0000000..7c6e288 --- /dev/null +++ b/apps/demo/run.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# Get Execute Script Directory +SCRIPT_DIR=$(dirname "$0") + +# shellcheck disable=SC2039 +source "$SCRIPT_DIR"/variable.sh + +CONTAINER_NAME="$CONTAINER" +APP_DATA_DIR=$(passwd)/"$CONTAINER_NAME" + +echo "===> Docker Pulling New Image <===" +docker pull "$ROOT_HUB" + +echo "===> Docker Removing Container <===" +docker rm -f "$CONTAINER_NAME" + +echo "===> Docker Run Container: $CONTAINER_NAME <===" +docker run -d \ + -p "$EXPOSE_PORT":8090 \ + --env-file "$SCRIPT_DIR"/.env \ + -e HIBERNATE_DDL="${HIBERNATE_DDL:-update}" \ + -v "$APP_DATA_DIR"/data:/opt/cubetiq/data \ + --restart=always \ + --name "$CONTAINER_NAME" \ + "$ROOT_HUB" diff --git a/apps/demo/variable.sh b/apps/demo/variable.sh new file mode 100644 index 0000000..6b48545 --- /dev/null +++ b/apps/demo/variable.sh @@ -0,0 +1,11 @@ +# Build variables +APP_MODULE_PATH=api +APP_PROFILE=demo + +# Docker Image variables +VERSION=latest +IMAGE=api-demo +CONTAINER=$IMAGE +REGISTRY=registry.kh.cubetiqs.com +EXPOSE_PORT=8080 +ROOT_HUB=$REGISTRY/$IMAGE:$VERSION \ No newline at end of file