37 lines
860 B
Plaintext
37 lines
860 B
Plaintext
|
#!/bin/sh
|
||
|
cd "$(dirname "$0")"
|
||
|
|
||
|
BASE="${PWD}/../"
|
||
|
IMAGE="m1k1o/neko"
|
||
|
|
||
|
build_client() {
|
||
|
docker build -t neko-dev-client -f base/Dockerfile --target client "${BASE}"
|
||
|
docker run --rm \
|
||
|
--user "$(id -u):$(id -g)" \
|
||
|
-v "${BASE}client/dist:/tmp/dist" \
|
||
|
neko-dev-client sh -c "rm -rf /tmp/dist/*; cp -r /src/dist/* /tmp/dist"
|
||
|
}
|
||
|
|
||
|
build_server() {
|
||
|
docker build -t neko-dev-server -f base/Dockerfile --target server "${BASE}"
|
||
|
docker run --rm \
|
||
|
--user "$(id -u):$(id -g)" \
|
||
|
-v "${BASE}server/bin:/tmp/bin" \
|
||
|
neko-dev-server sh -c "rm -rf /tmp/bin/neko; cp /src/bin/neko /tmp/bin"
|
||
|
}
|
||
|
|
||
|
build_base() {
|
||
|
docker build -t "${IMAGE}:base" -f base/Dockerfile "${BASE}"
|
||
|
}
|
||
|
|
||
|
build() {
|
||
|
docker build -t "${IMAGE}:$1" -f "$1/Dockerfile" "$1/"
|
||
|
}
|
||
|
|
||
|
case $1 in
|
||
|
client) build_client;;
|
||
|
server) build_server;;
|
||
|
base) build_base;;
|
||
|
*) build "$1";;
|
||
|
esac
|