Skip to content

Commit

Permalink
Merge pull request #133 from awiens/master
Browse files Browse the repository at this point in the history
Adding Docker container and updating README
  • Loading branch information
gcmurphy committed Aug 10, 2017
2 parents 1beec25 + b120a3e commit f22c701
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
23 changes: 23 additions & 0 deletions Dockerfile
@@ -0,0 +1,23 @@
# Docker version must be 17.05 or higher to allow multistage build
# See build and run instructions in README.md

# Builds Gas for utilization
FROM golang:1.8.1-alpine as builder
ENV workspace /go/src/github.com/GoASTScanner/gas
ENV GOPATH /go
COPY . $workspace
WORKDIR $workspace

RUN go vet $(go list ./... | grep -v /vendor/)
RUN CGO_ENABLED=0 go build -o gas .

########################################################

# Runs Gas on all Go files in the current directory when
# 'docker run' command in README is given
FROM alpine:3.6

COPY --from=builder /go/src/github.com/GoASTScanner/gas/gas /

# Mounted directory should be placed into the workdir
CMD /gas $(find . -path ./vendor -prune -o -type f -name "*.go")
17 changes: 17 additions & 0 deletions README.md
Expand Up @@ -112,3 +112,20 @@ file. The output format is controlled by the '-fmt' flag, and the output file is
# Write output in json format to results.json
$ gas -fmt=json -out=results.json *.go
```

### Docker container

A Dockerfile is included with the Gas source code to provide a container that
allows users to easily run Gas on their code. It builds Gas, then runs it on
all Go files in your current directory. Use the following commands to build
and run locally:

To build: (run command in cloned Gas source code directory)
docker build --build-arg http_proxy --build-arg https_proxy
--build-arg no_proxy -t goastscanner/gas:latest .

To run: (run command in desired directory with Go files)
docker run -v $PWD:$PWD --workdir $PWD goastscanner/gas:latest

Note: Docker version 17.05 or later is required (to permit multistage build).
```

0 comments on commit f22c701

Please sign in to comment.