mirror of
https://github.com/penpot/penpot.git
synced 2025-01-08 07:50:43 -05:00
72 lines
1.7 KiB
Bash
Executable file
72 lines
1.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
REV=`git rev-parse --short HEAD`
|
|
IMGNAME="uxbox"
|
|
|
|
function kill_container {
|
|
if $(sudo docker ps |grep -q $IMGNAME); then
|
|
sudo docker ps |grep $IMGNAME | awk '{print $1}' | xargs --no-run-if-empty sudo docker kill
|
|
fi
|
|
}
|
|
|
|
function start_local {
|
|
tmux -2 new-session -d -s uxbox
|
|
|
|
tmux new-window -t uxbox:1 -n 'figwheel'
|
|
tmux select-window -t uxbox:1
|
|
tmux send-keys -t uxbox 'cd frontend' enter
|
|
tmux send-keys -t uxbox 'npm run figwheel' enter
|
|
|
|
tmux new-window -t uxbox:2 -n 'backend'
|
|
tmux select-window -t uxbox:2
|
|
tmux send-keys -t uxbox 'cd backend' enter
|
|
# tmux send-keys -t uxbox 'bash ./scripts/fixtures.sh' enter
|
|
# tmux send-keys -t uxbox 'bash ./scripts/run.sh' enter
|
|
|
|
tmux rename-window -t uxbox:0 'gulp'
|
|
tmux select-window -t uxbox:0
|
|
tmux send-keys -t uxbox 'cd frontend' enter
|
|
tmux send-keys -t uxbox 'if [ ! -e ./node_modules ]; then npm install; fi' enter
|
|
tmux send-keys -t uxbox 'npm run watch' enter
|
|
|
|
tmux -2 attach-session -t uxbox
|
|
}
|
|
|
|
function build_image {
|
|
kill_container
|
|
sudo docker build --rm=true -t $IMGNAME:$REV docker/
|
|
}
|
|
|
|
function run_image {
|
|
kill_container
|
|
|
|
if ! $(sudo docker images|grep $IMGNAME |grep -q $REV); then
|
|
build_image
|
|
fi
|
|
|
|
sudo docker run -ti \
|
|
-v `pwd`:/home/uxbox/uxbox \
|
|
-v $HOME/.m2:/home/uxbox/.m2 \
|
|
-v $HOME/.gitconfig:/home/uxbox/.gitconfig \
|
|
-p 3449:3449 -p 6060:6060 -p 9090:9090 $IMGNAME:$REV
|
|
}
|
|
|
|
function usage {
|
|
echo "USAGE: $0 [ build | run | start ]"
|
|
}
|
|
|
|
case $1 in
|
|
build)
|
|
build_image
|
|
;;
|
|
run)
|
|
run_image
|
|
;;
|
|
|
|
start)
|
|
start_local
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|