-
Notifications
You must be signed in to change notification settings - Fork 0
/
project.sh
executable file
·81 lines (71 loc) · 1.41 KB
/
project.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
#!/bin/bash
#set -ex
COMMAND=$1
TARGET_OS=$2
function build() {
if [ -z "$TARGET_OS" ]; then
TARGET_OS="darwin"
fi
case "$TARGET_OS" in
darwin)
export GOARCH="amd64"
export GOOS="darwin"
export CGO_ENABLED=0
;;
linux)
export GOARCH="amd64"
export GOOS="linux"
export CGO_ENABLED=1
;;
*)
echo "Unknown Target OS: $TARGET_OS"
exit 1
;;
esac
docker run --rm --name nxt-rtd-build \
-v $(pwd):/go/src/github.com/kimmyfek/next_rtd \
-w /go/src/github.com/kimmyfek/next_rtd \
-e GOOS=$GOOS \
-e GOARCH=$GOARCH \
-e CGO_ENABLED=$CGO_ENABLED \
golang:1.8 \
/bin/bash -c "go get && go build -v -o nxt-$GOOS-$GOARCH"
}
function rundb() {
echo ""
echo "-----------------------"
echo "Running DB"
echo "-----------------------"
docker run --rm -it --name nxt-mysql \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
-e MYSQL_DATABASE=rtd \
-v /tmp/lib/mysql:/var/lib/mysql \
-p 3306:3306 \
mysql:5.7
}
function debug() {
# Should do a docker delete nxt-mysql-debug and not care if it fails
docker stop nxt-mysql-debug || true
sleep 3
docker run --rm -d --name nxt-mysql-debug \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
-e MYSQL_DATABASE=rtd \
-p 3306:3306 \
mysql:5.7
echo "Taking a nap while mysql turns on"
sleep 10
./nxt-darwin-amd64 --level=debug
}
case "$COMMAND" in
build)
build
echo "Done"
;;
rundb)
rundb
echo "Done"
;;
debug)
build
debug
esac