From 26c41d6fd445b2fed81fa4653a4769c74c3e1638 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost Date: Mon, 15 Aug 2022 16:45:11 +0430 Subject: [PATCH] feat(deploys): refactor deploy script --- packages/lab/wordpress/.env.example | 2 +- packages/lab/wordpress/deploy.sh | 2 +- packages/service/adminer/deploy.sh | 30 ++++++++++++------- packages/service/adminer/docker-compose.yml | 1 - packages/service/mariadb/_up.sh | 4 ++- packages/service/mariadb/deploy.sh | 28 +++++++++++------ packages/service/mariadb/docker-compose.yml | 4 +-- packages/service/traefik-proxy/deploy.sh | 30 ++++++++++++------- .../service/traefik-proxy/docker-compose.yml | 1 - 9 files changed, 65 insertions(+), 37 deletions(-) diff --git a/packages/lab/wordpress/.env.example b/packages/lab/wordpress/.env.example index e84e277d9..348b59882 100644 --- a/packages/lab/wordpress/.env.example +++ b/packages/lab/wordpress/.env.example @@ -6,7 +6,7 @@ WORDPRESS_VERSION=6.0 NGINX_MEMOTY_LIMIT=256m PHP_MEMOTY_LIMIT=2048m ## Remove _data/wp-config.php to appy -WORDPRESS_DB_HOST=mariadb.alwatr.io +WORDPRESS_DB_HOST=mariadb_database_1.alwatr-private-network WORDPRESS_DB_USER=alwatr WORDPRESS_DB_PASSWORD=secret-password WORDPRESS_DB_NAME=database diff --git a/packages/lab/wordpress/deploy.sh b/packages/lab/wordpress/deploy.sh index 0b826c689..95ecf7ff9 100755 --- a/packages/lab/wordpress/deploy.sh +++ b/packages/lab/wordpress/deploy.sh @@ -14,7 +14,7 @@ fi if [ -z ${DEPLOY_PATH:-} ] then - echo '❌ Plsease set deploy path env by `DEPLOY_PATH=wp-test ./deploy.sh`' + echo "❌ Plsease set deploy path env by 'DEPLOY_PATH=$thisBasename ./deploy.sh'" exit 1 fi diff --git a/packages/service/adminer/deploy.sh b/packages/service/adminer/deploy.sh index 5ff7708c0..15968b9b3 100755 --- a/packages/service/adminer/deploy.sh +++ b/packages/service/adminer/deploy.sh @@ -3,24 +3,34 @@ set -Eeuo pipefail trap "echo '❌ Error'" ERR thisPath="$(pwd)" -projectName="$(basename "$thisPath")" +thisBasename="$(basename "$thisPath")" cd $thisPath; -host=${1:-}; shift; -if [ -z "$host" ] +if [ -z ${DEPLOY_HOST:-} ] then - echo "Pass the host as the first argument." + echo '❌ Plsease set deploy host env by `export DEPLOY_HOST=root@srv1.alwatr.io`' exit 1 fi +if [ -z ${DEPLOY_PATH:-} ] +then + echo "❌ Plsease set deploy path env by 'DEPLOY_PATH=$thisBasename ./deploy.sh'" + exit 1 +fi + +DEPLOY_PATH="/srv/${DEPLOY_PATH:-$thisBasename}/" + +echo "DEPLOY_HOST: $DEPLOY_HOST" +echo "DEPLOY_PATH: $DEPLOY_PATH" + echoStep () { echo "🔸 $1" } -remoteShell() { +remoteShell () { server=$1; shift; echo "🔸 remoteShell => $server" - ssh -o "ConnectTimeout=5" -tt -q $server $@ || echo "❌ remoteShell error for $server" + ssh -o "ConnectTimeout=5" -tt -q $server $@ } if [ ! -f .env ] @@ -32,15 +42,15 @@ fi echoStep "Sync..." -remoteShell $host "mkdir -p /srv/$projectName" +remoteShell $DEPLOY_HOST "mkdir -p $DEPLOY_PATH" -rsync -Pazh --del ./_*.sh ./.env ./*.yml $host:/srv/$projectName/ +rsync -Pazh --del ./_*.sh ./.env ./*.yml $DEPLOY_HOST:$DEPLOY_PATH/ if [[ "${1:-}" == "--down" ]] then echoStep "Down..." - remoteShell $host "cd /srv/$projectName && docker-compose down --remove-orphans" + remoteShell $DEPLOY_HOST "cd $DEPLOY_PATH && docker-compose down --remove-orphans" else echoStep "Up..." - remoteShell $host "cd /srv/$projectName && chmod +x _up.sh && ./_up.sh" + remoteShell $DEPLOY_HOST "cd $DEPLOY_PATH && chmod +x _up.sh && ./_up.sh" fi diff --git a/packages/service/adminer/docker-compose.yml b/packages/service/adminer/docker-compose.yml index b0e1cb15f..4785fbc0f 100644 --- a/packages/service/adminer/docker-compose.yml +++ b/packages/service/adminer/docker-compose.yml @@ -30,7 +30,6 @@ services: labels: traefik.enable: true - traefik.backend: adminer traefik.port: 9000 traefik.frontend.rule: Host:${DOMAIN} traefik.frontend.entryPoints: http, https diff --git a/packages/service/mariadb/_up.sh b/packages/service/mariadb/_up.sh index f6a9da796..72c4d6256 100755 --- a/packages/service/mariadb/_up.sh +++ b/packages/service/mariadb/_up.sh @@ -20,13 +20,15 @@ docker network create alwatr-private-network || echo "network exist" docker-compose pull # docker-compose build --pull -echoStep "Starting..." +echoStep "Fix permitions..." docker-compose stop mysqlPath=/var/lib/mysql docker-compose run --rm --name 'fix-db' --user=root database \ bash -c "ls -lahF $mysqlPath; chown -Rv mysql:mysql $mysqlPath; ls -lahF $mysqlPath;" +echoStep "Starting..." + docker-compose up --detach --remove-orphans # --force-recreate echoStep "Done" diff --git a/packages/service/mariadb/deploy.sh b/packages/service/mariadb/deploy.sh index 5ff7708c0..418aa689b 100755 --- a/packages/service/mariadb/deploy.sh +++ b/packages/service/mariadb/deploy.sh @@ -3,16 +3,26 @@ set -Eeuo pipefail trap "echo '❌ Error'" ERR thisPath="$(pwd)" -projectName="$(basename "$thisPath")" +thisBasename="$(basename "$thisPath")" cd $thisPath; -host=${1:-}; shift; -if [ -z "$host" ] +if [ -z ${DEPLOY_HOST:-} ] then - echo "Pass the host as the first argument." + echo '❌ Plsease set deploy host env by `export DEPLOY_HOST=root@srv1.alwatr.io`' exit 1 fi +if [ -z ${DEPLOY_PATH:-} ] +then + echo "❌ Plsease set deploy path env by 'DEPLOY_PATH=$thisBasename ./deploy.sh'" + exit 1 +fi + +DEPLOY_PATH="/srv/${DEPLOY_PATH:-$thisBasename}/" + +echo "DEPLOY_HOST: $DEPLOY_HOST" +echo "DEPLOY_PATH: $DEPLOY_PATH" + echoStep () { echo "🔸 $1" } @@ -20,7 +30,7 @@ echoStep () { remoteShell() { server=$1; shift; echo "🔸 remoteShell => $server" - ssh -o "ConnectTimeout=5" -tt -q $server $@ || echo "❌ remoteShell error for $server" + ssh -o "ConnectTimeout=5" -tt -q $server $@ } if [ ! -f .env ] @@ -32,15 +42,15 @@ fi echoStep "Sync..." -remoteShell $host "mkdir -p /srv/$projectName" +remoteShell $DEPLOY_HOST "mkdir -p $DEPLOY_PATH" -rsync -Pazh --del ./_*.sh ./.env ./*.yml $host:/srv/$projectName/ +rsync -Pazh --del ./_*.sh ./.env ./*.yml $DEPLOY_HOST:$DEPLOY_PATH/ if [[ "${1:-}" == "--down" ]] then echoStep "Down..." - remoteShell $host "cd /srv/$projectName && docker-compose down --remove-orphans" + remoteShell $DEPLOY_HOST "cd $DEPLOY_PATH && docker-compose down --remove-orphans" else echoStep "Up..." - remoteShell $host "cd /srv/$projectName && chmod +x _up.sh && ./_up.sh" + remoteShell $DEPLOY_HOST "cd $DEPLOY_PATH && chmod +x _up.sh && ./_up.sh" fi diff --git a/packages/service/mariadb/docker-compose.yml b/packages/service/mariadb/docker-compose.yml index 77a13f404..abbc8742f 100644 --- a/packages/service/mariadb/docker-compose.yml +++ b/packages/service/mariadb/docker-compose.yml @@ -12,9 +12,7 @@ services: hostname: mariadb.alwatr.io networks: - alwatr-private-network: - aliases: - - mariadb.alwatr.io + - alwatr-private-network cpu_shares: 4096 mem_limit: ${MEMOTY_LIMIT} diff --git a/packages/service/traefik-proxy/deploy.sh b/packages/service/traefik-proxy/deploy.sh index 6995f0485..412bc069f 100755 --- a/packages/service/traefik-proxy/deploy.sh +++ b/packages/service/traefik-proxy/deploy.sh @@ -3,24 +3,34 @@ set -Eeuo pipefail trap "echo '❌ Error'" ERR thisPath="$(pwd)" -projectName="$(basename "$thisPath")" +thisBasename="$(basename "$thisPath")" cd $thisPath; -host=${1:-}; shift; -if [ -z "$host" ] +if [ -z ${DEPLOY_HOST:-} ] then - echo "Pass the host as the first argument." + echo '❌ Plsease set deploy host env by `export DEPLOY_HOST=root@srv1.alwatr.io`' exit 1 fi +if [ -z ${DEPLOY_PATH:-} ] +then + echo "❌ Plsease set deploy path env by 'DEPLOY_PATH=$thisBasename ./deploy.sh'" + exit 1 +fi + +DEPLOY_PATH="/srv/${DEPLOY_PATH:-$thisBasename}/" + +echo "DEPLOY_HOST: $DEPLOY_HOST" +echo "DEPLOY_PATH: $DEPLOY_PATH" + echoStep () { echo "🔸 $1" } -remoteShell() { +remoteShell () { server=$1; shift; echo "🔸 remoteShell => $server" - ssh -o "ConnectTimeout=5" -tt -q $server $@ || echo "❌ remoteShell error for $server" + ssh -o "ConnectTimeout=5" -tt -q $server $@ } if [ ! -f .env ] @@ -32,15 +42,15 @@ fi echoStep "Sync..." -remoteShell $host "mkdir -p /srv/$projectName" +remoteShell $DEPLOY_HOST "mkdir -p $DEPLOY_PATH" -rsync -Pazh --del ./_*.sh ./.env ./*.yml ./*.toml $host:/srv/$projectName/ +rsync -Pazh --del ./_*.sh ./.env ./*.yml ./*.toml $DEPLOY_HOST:$DEPLOY_PATH/ if [[ "${1:-}" == "--down" ]] then echoStep "Down..." - remoteShell $host "cd /srv/$projectName && docker-compose down --remove-orphans" + remoteShell $DEPLOY_HOST "cd $DEPLOY_PATH && docker-compose down --remove-orphans" else echoStep "Up..." - remoteShell $host "cd /srv/$projectName && chmod +x _up.sh && ./_up.sh" + remoteShell $DEPLOY_HOST "cd $DEPLOY_PATH && chmod +x _up.sh && ./_up.sh" fi diff --git a/packages/service/traefik-proxy/docker-compose.yml b/packages/service/traefik-proxy/docker-compose.yml index 3fdad184e..17e3ad83f 100644 --- a/packages/service/traefik-proxy/docker-compose.yml +++ b/packages/service/traefik-proxy/docker-compose.yml @@ -42,7 +42,6 @@ services: labels: traefik.enable: true - traefik.backend: traefik-proxy traefik.port: 8080 traefik.frontend.rule: Host:${DOMAIN} traefik.frontend.entryPoints: http, https