1+ #! /bin/sh
2+
3+ bg_red=" \033[41m"
4+ bg_green=" \033[42m"
5+ bg_black=" \033[40m"
6+
7+ txt_white=" \033[0;37m"
8+ txt_yellow=" \033[0;33m"
9+ txt_green=" \033[0;32m"
10+
11+ color_reset=" \033[0m"
12+
13+ error ()
14+ {
15+ echo " ${txt_white}${bg_red} $@ "
16+ }
17+
18+ success ()
19+ {
20+ echo " ${txt_white}${bg_green} $@ "
21+ }
22+
23+ dk_help ()
24+ {
25+ echo \
26+ " ${txt_yellow} Available commands:${color_reset} \n" \
27+ " ${txt_green} link${color_reset} Create executable /usr/local/bin/dk\n" \
28+ " ${txt_green} unlink${color_reset} Remove executable /usr/local/bin/dk\n" \
29+ " ${txt_green} up${color_reset} Create and start containers\n" \
30+ " ${txt_green} down${color_reset} Stop and remove containers, networks, images, and volumes\n" \
31+ " ${txt_green} rebuild${color_reset} Rebuild and restart containers\n" \
32+ " ${txt_green} run${color_reset} Run a command in a new container, then remove container when it exits\n" \
33+ " ${txt_green} exec${color_reset} Run a command in a running container\n" \
34+ " ${txt_green} artisan${color_reset} Run an artisan command\n" \
35+ " ${txt_green} tinker${color_reset} Launch tinker\n" \
36+ " ${txt_green} tests${color_reset} Run tests\n"
37+ }
38+
39+ dk_link ()
40+ {
41+ source=" ` pwd` /$0 "
42+ target=" /usr/local/bin/${1:- dk} "
43+
44+ if [ -f $target ]
45+ then
46+ error " $target already exists"
47+ return
48+ fi
49+
50+ echo \
51+ " #!/bin/sh\n" \
52+ " export dk_bin=$target \n" \
53+ " cd ` dirname $source ` \n" \
54+ " ./` basename $source ` \$ @\n" \
55+ > $target
56+
57+ chmod +x $source
58+ chmod +x $target
59+
60+ success " $target was created"
61+ }
62+
63+ dk_unlink ()
64+ {
65+ if [ -z $dk_bin ]
66+ then
67+ error " link not found"
68+ return
69+ fi
70+
71+ rm $dk_bin
72+
73+ success " $dk_bin was removed"
74+ }
75+
76+ dk_up ()
77+ {
78+ docker-compose up $@
79+ }
80+
81+ dk_down ()
82+ {
83+ docker-compose down $@
84+ }
85+
86+ dk_rebuild ()
87+ {
88+ dk_down --volumes --rmi all
89+ dk_up --build -d
90+ }
91+
92+ dk_run ()
93+ {
94+ service=$1
95+ shift
96+
97+ docker-compose run --rm $service $@
98+ }
99+
100+ dk_exec ()
101+ {
102+ service=$1
103+ shift
104+
105+ docker-compose exec $service $@
106+ }
107+
108+ dk_artisan ()
109+ {
110+ dk_run php ./artisan $@
111+ }
112+
113+ dk_tinker ()
114+ {
115+ dk_artisan tinker
116+ }
117+
118+ dk_tests ()
119+ {
120+ dk_run php /app/driver/vendor/bin/phpunit -c /app/driver/phpunit.xml
121+ }
122+
123+ command=dk_${1:- help}
124+ shift
125+
126+ if [ " ` type -t $command ` " = " function" ]
127+ then
128+ $command $@
129+ else
130+ error " Command not found"
131+ fi
0 commit comments