Skip to content

Commit 33e907f

Browse files
committed
SBERDOMA-211 add --import flag to import db dump from another app name
1 parent 8e66027 commit 33e907f

File tree

2 files changed

+25
-17
lines changed

2 files changed

+25
-17
lines changed

.github/workflows/deploy.dev.sh

+24-12
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
set -eo pipefail
55

66
function escape {
7-
echo "$1" | tr A-Z a-z | sed "s/[^a-z0-9]/-/g" | sed "s/^-+\|-+$//g"
7+
echo "$1" | tr A-Z a-z | sed "s/[^a-z0-9]/-/g" | sed "s/^-+\|-+$//g"
88
}
99

1010
function action {
11-
echo "!!===> $1"
11+
echo "!!===> $1"
1212
}
1313

1414
function info {
15-
echo " $1"
15+
echo " $1"
1616
}
1717

1818
function rollback {
@@ -33,28 +33,32 @@ VERSION=$(escape $3)
3333
BY_KEYWORD=$4
3434
DOCKER_IMAGE=$5
3535

36+
if [[ "$6" == "--import" ]]; then
37+
IMPORT_DB_FROM_APP="$7"
38+
fi
39+
3640
DOMAIN=${APP}.dev.doma.ai
3741
DESTROY_SCRIPT_PATH="~/do.${APP}.destroy.sh"
3842
RUN_AFTER_DEPLOY=false
3943

4044
source .env
4145

4246
if [[ -z "${DOCKER_COMPOSE_START_APP_COMMAND}" ]]; then
43-
echo "NO: DOCKER_COMPOSE_START_APP_COMMAND check .env"
44-
exit 1
47+
echo "NO: DOCKER_COMPOSE_START_APP_COMMAND check .env"
48+
exit 1
4549
fi
4650
if [[ -z "${DOCKER_COMPOSE_START_WORKER_COMMAND}" ]]; then
47-
echo "NO: DOCKER_COMPOSE_START_WORKER_COMMAND check .env"
48-
exit 1
51+
echo "NO: DOCKER_COMPOSE_START_WORKER_COMMAND check .env"
52+
exit 1
4953
fi
5054
if [[ -z "${DOCKER_COMPOSE_MIGRATION_COMMAND}" ]]; then
51-
echo "NO: DOCKER_COMPOSE_MIGRATION_COMMAND check .env"
52-
exit 1
55+
echo "NO: DOCKER_COMPOSE_MIGRATION_COMMAND check .env"
56+
exit 1
5357
fi
5458
if [[ -z "${SSH_DESTINATION}" ]] || [[ -z "${APP}" ]] || [[ "${BY_KEYWORD}" != "by" ]] || [[ -z "${DOCKER_IMAGE}" ]]; then
55-
echo "Use: $0 <SSH_DESTINATION> <APP-NAME> <APP-VERSION-NAME> by <DOCKER-IMAGE>"
56-
echo "Example: $0 [email protected] demo v1 by apps:demo"
57-
exit 1
59+
echo "Use: $0 <SSH_DESTINATION> <APP-NAME> <APP-VERSION-NAME> by <DOCKER-IMAGE>"
60+
echo "Example: $0 [email protected] demo v1 by apps:demo"
61+
exit 1
5862
fi
5963

6064
echo "$(date +%Y-%m-%d-%H-%M-%S) - deploy.dev.sh $@ (APP=${APP}; VERSION=${VERSION})"
@@ -99,6 +103,14 @@ fi
99103
action "Deploy app ${APP} by ${DOCKER_IMAGE}"
100104
run "docker tag ${DOCKER_IMAGE} dokku/${APP}:${VERSION}"
101105
run "dokku tags:deploy ${APP} ${VERSION}"
106+
107+
if [[ ! -z "${IMPORT_DB_FROM_APP}" ]]; then
108+
action "Import database from ${IMPORT_DB_FROM_APP}"
109+
run "dokku postgres:export ${IMPORT_DB_FROM_APP} > /tmp/temp.dump" || echo 'export error!'
110+
run "dokku postgres:import ${APP} < /tmp/temp.dump" || echo 'import error!'
111+
fi
112+
113+
action "Run migrations"
102114
run "docker exec -u root ${APP}.web.1 ${DOCKER_COMPOSE_MIGRATION_COMMAND}"
103115

104116
if [[ "$RUN_AFTER_DEPLOY" == "true" ]]; then

.github/workflows/nodejs.condo.deploy.branch.yml

+1-5
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,4 @@ jobs:
4747
docker save apps:$SUBDOMAIN | bzip2 | pv | ssh [email protected] 'bunzip2 | docker load'
4848
4949
# deploy by image
50-
bash ./.github/workflows/deploy.dev.sh [email protected] $SUBDOMAIN $VERSION by apps:$SUBDOMAIN
51-
52-
# import database from condo app
53-
ssh [email protected] "dokku postgres:export condo > condo.dump"
54-
ssh [email protected] "dokku postgres:import $SUBDOMAIN < condo.dump"
50+
bash ./.github/workflows/deploy.dev.sh [email protected] $SUBDOMAIN $VERSION by apps:$SUBDOMAIN --import condo

0 commit comments

Comments
 (0)