-
Notifications
You must be signed in to change notification settings - Fork 14
/
install.sh
executable file
·90 lines (74 loc) · 1.79 KB
/
install.sh
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
#!/bin/sh
set -e
SCRIPT_DIRECTORY="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
if [ -z "$VERSION" ]; then
VERSION=dev-master
fi
if [ -z "$SSH_KEY" ]; then
SSH_KEY=id_rsa
fi
DOCKER_IMAGE=norsys/rothenberg
COMPOSER_VCS=
DOCKER_VCS=
INSTALL_DIRECTORY=.
while [ "$1" != "" ]; do
PARAM=`echo $1 | awk -F= '{print $1}'`
VALUE=`echo $1 | sed 's/^[^=]*=//g'`
case $PARAM in
--build-docker-image)
DOCKER_ACTION=build
;;
--pull-docker-image)
DOCKER_ACTION=pull
;;
--vcs)
COMPOSER_VCS="-v $SCRIPT_DIRECTORY:$VALUE"
DOCKER_VCS=$VALUE
;;
--image)
DOCKER_IMAGE=$VALUE
;;
--directory)
INSTALL_DIRECTORY=$VALUE
;;
--target)
TARGET=$VALUE
;;
--symfony-version)
SYMFONY_VERSION=$VALUE
;;
*)
echo "ERROR: unknown parameter \"$PARAM\""
exit 1
;;
esac
shift
done
if [ -z "$SYMFONY_VERSION" ]; then
SYMFONY_VERSION="^3.4"
elif [[ $(echo "$SYMFONY_VERSION" | grep -E '^[0-9]+(.[0-9]+)*$' | grep -vE '^([456789][0-9]*|[1-9][0-9]+|[0-2]).?') != "$SYMFONY_VERSION" ]]; then
echo "Symfony version lesser or greater than 3 is not currently supported."
exit
fi
if [ -z "$TARGET" ]; then
TARGET=app
fi
case $DOCKER_ACTION in
build)
docker build -t $DOCKER_IMAGE $SCRIPT_DIRECTORY/docker
;;
pull)
docker pull $DOCKER_IMAGE
;;
"")
;;
*)
echo "ERROR: unknown docker command \"$DOCKER_ACTION\""
exit 2
;;
esac
trap 'rm -f $(pwd)/passwd' 0 1 2 3 15
mkdir -p $INSTALL_DIRECTORY
cd $INSTALL_DIRECTORY
echo "root:x:$(id -u):0:root:/root:/bin/sh" > $(pwd)/passwd
docker run --rm -v $(pwd):/src -v $HOME/.ssh:/.ssh -v $HOME/.composer:/.composer -v $(pwd)/passwd:/etc/passwd $COMPOSER_VCS -u $(id -u) -e TARGET=$TARGET -e VERSION=$VERSION -e SSH_KEY=$SSH_KEY -e DOCKER_VCS=$DOCKER_VCS -e SYMFONY_VERSION=$SYMFONY_VERSION -e WITH_DEBUG=$WITH_DEBUG $DOCKER_IMAGE