-
Notifications
You must be signed in to change notification settings - Fork 1
/
develop
executable file
·91 lines (77 loc) · 2.4 KB
/
develop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/usr/bin/env bash
# Detect if sudo needed
USER="$(whoami)"
SUDO=""
if [ ! "${USER}" == "root" ];then
SUDO=$(id -Gn $USER | grep -q docker) || SUDO="sudo "
fi
DOCKER="${SUDO}docker"
COMPOSE="${SUDO}docker-compose"
function die () {
echo >&2 "$@"
exit 1
}
if [ $# -gt 0 ];then
if [ "$1" == "test" ]; then
shift 1
ARGS="$@"
${COMPOSE} exec --user $(id -u):www-data \
web_server bash -c \
"cd /var/www && vendor/bin/codecept run --env platform,ml_disabled $ARGS"
elif [ "$1" == "frontend-test" ]; then
shift 1
${COMPOSE} run --rm -w /var/www \
-u $(id -u):www-data \
node_server \
npm -s start "$@"
elif [ "$1" == "artisan" ]; then
shift 1
ARGS="$@"
${COMPOSE} exec --user $(id -u):www-data \
web_server bash -c \
"cd /var/www && php artisan $ARGS"
elif [ "$1" == "composer" ]; then
shift 1
ARGS="$@"
${COMPOSE} exec --user $(id -u):www-data \
web_server bash -c \
"cd /var/www && composer $ARGS"
elif [ "$1" == "npm" ]; then
shift 1
${COMPOSE} run --rm -w /var/www \
-u $(id -u):www-data \
node_server \
npm -s "$@"
elif [ "$1" == "link" ]; then
shift 1
./scripts/link_package.sh "$@"
elif [ "$1" == "clean" ]; then
shift 1
${DOCKER} volume ls -qf dangling=true | xargs -r ${DOCKER} volume rm
${DOCKER} images -q --no-trunc | xargs -r ${DOCKER} rmi || true
elif [ "$1" == "db-dump" ]; then
shift 1
[ ! -z $1 ] || die "Please specify database name"
${COMPOSE} exec db_server sh -c "pg_dump -U postgres --clean --if-exists --no-owner $1 | gzip > /backups/$1_$(date +%Y%m%d_%H%M).sql.gz"
elif [ "$1" == "db-restore" ]; then
shift 1
[ ! -z $1 ] || die "Please specify database name"
[ ! -z $2 ] || die "Please specify dump path"
${COMPOSE} exec db_server sh -c "gunzip -c /$2 | psql -U postgres --single-transaction -a $1"
elif [ "$1" == "generate-cert" ]; then
shift 1
echo $1 | grep -E -q '^localhost$|^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' || die "Not valid domain"
if [ "$2" == "dhparam" ]; then
openssl dhparam -out ./.server/ssl/$1.dhparam.pem 2048
fi
openssl req -x509 -newkey rsa:4086 \
-subj "/C=PL/ST=XXXX/L=XXXX/O=GrupaZero/CN=$1" \
-keyout ./.server/ssl/$1.key \
-out ./.server/ssl/$1.crt \
-days 3650 -nodes -sha256
else
${COMPOSE} "$@"
fi
else
${COMPOSE} ps
fi