From f9e381097c2630227c26c445ea403f7b0e782954 Mon Sep 17 00:00:00 2001 From: Rodrigo Brito Date: Fri, 19 Apr 2019 16:50:04 -0300 Subject: [PATCH] Improvements on Dockerfile and deploy --- Dockerfile | 12 ++++++++++++ Makefile | 3 ++- README.md | 3 +++ main.go | 7 ++++--- server/{docker => }/Caddyfile | 0 server/{docker => }/docker-compose.yml | 0 server/docker/Dockerfile | 6 ------ 7 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 Dockerfile rename server/{docker => }/Caddyfile (100%) rename server/{docker => }/docker-compose.yml (100%) delete mode 100644 server/docker/Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b31cc89 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM golang:1.12 as build +WORKDIR /app +ADD . . +RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-w -s" -mod vendor + +FROM alpine +COPY --from=build /app/gocity /bin/gocity + +RUN apk update && apk upgrade && \ + apk add --no-cache bash git openssh + +CMD ["/bin/gocity", "server"] diff --git a/Makefile b/Makefile index 99d7d87..9445b71 100644 --- a/Makefile +++ b/Makefile @@ -21,4 +21,5 @@ build-docker: docker build -t rodrigobrito/gocity -f ./server/docker/Dockerfile . deploy: - cd server && we deploy -p rodrigo \ No newline at end of file + heroku container:push -a go-city web + heroku container:release -a go-city web \ No newline at end of file diff --git a/README.md b/README.md index 9a45cdf..722ad4f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,9 @@
Available here: https://go-city.github.io + +Tool Paper: [26th International Conference on Software Analysis, Evolution and Reengineering (SANER)](https://ieeexplore.ieee.org/document/8668008) +
PDF Version: [ASERG Page](https://homepages.dcc.ufmg.br/~mtov/pub/2019-saner-gocity.pdf) GoCity is an implementation of the Code City metaphor for visualizing source code. GoCity represents a Go program as a city, as follows: diff --git a/main.go b/main.go index c81d608..4aa38c7 100644 --- a/main.go +++ b/main.go @@ -34,9 +34,10 @@ func main() { Description: "Start a local server to analyze projects", Flags: []cli.Flag{ cli.IntFlag{ - Name: "port", - Value: defaultPort, - Usage: "Local server port", + Name: "port", + Value: defaultPort, + Usage: "Local server port", + EnvVar: "PORT", }, }, Action: func(c *cli.Context) error { diff --git a/server/docker/Caddyfile b/server/Caddyfile similarity index 100% rename from server/docker/Caddyfile rename to server/Caddyfile diff --git a/server/docker/docker-compose.yml b/server/docker-compose.yml similarity index 100% rename from server/docker/docker-compose.yml rename to server/docker-compose.yml diff --git a/server/docker/Dockerfile b/server/docker/Dockerfile deleted file mode 100644 index 4e61e0c..0000000 --- a/server/docker/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM golang:1.12 -RUN mkdir -p /gocity -WORKDIR /gocity -ADD . . -RUN go build -mod vendor -CMD ["/gocity/gocity", "server"]