From 72d3d9cd1c53f8683a6571a169e96cfadc595597 Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Thu, 9 Aug 2018 11:05:36 +0200 Subject: [PATCH] New build system (#9) --- .gitignore | 2 ++ Dockerfile | 9 ++++++++- Gopkg.lock | 15 +++++++++++++++ Gopkg.toml | 35 +++++++++++++++++++++++++++++++++++ Makefile | 12 ++++++++++++ build.sh | 3 --- 6 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 Gopkg.lock create mode 100644 Gopkg.toml create mode 100644 Makefile delete mode 100755 build.sh diff --git a/.gitignore b/.gitignore index aec4ee9..770da04 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ +.idea +vendor/ /whoami diff --git a/Dockerfile b/Dockerfile index 211eb10..1a48ae9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,12 @@ +FROM golang:1.10 as builder +WORKDIR /go/src/github.com/containous/whoami +COPY . . +RUN go get -u github.com/golang/dep/cmd/dep +RUN make dependencies +RUN make build + # Create a minimal container to run a Golang static binary FROM scratch -COPY whoami / +COPY --from=builder /go/src/github.com/containous/whoami/whoami . ENTRYPOINT ["/whoami"] EXPOSE 80 diff --git a/Gopkg.lock b/Gopkg.lock new file mode 100644 index 0000000..e391d9d --- /dev/null +++ b/Gopkg.lock @@ -0,0 +1,15 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + name = "github.com/gorilla/websocket" + packages = ["."] + revision = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b" + version = "v1.2.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "941e8dbe52e16e8a7dff4068b7ba53ae69a5748b29fbf2bcb5df3a063ac52261" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml new file mode 100644 index 0000000..ed8b8f4 --- /dev/null +++ b/Gopkg.toml @@ -0,0 +1,35 @@ +# Gopkg.toml example +# +# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" +# +# [prune] +# non-go = false +# go-tests = true +# unused-packages = true + + +[[constraint]] + name = "github.com/gorilla/websocket" + version = "1.2.0" + +[prune] + non-go = true + go-tests = true + unused-packages = true diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..36b915c --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +.PHONY: default build dependencies image + +default: build + +build: + CGO_ENABLED=0 go build -a --installsuffix cgo --ldflags="-s" -o whoami + +dependencies: + dep ensure -v + +image: + docker build -t containous/whoami . diff --git a/build.sh b/build.sh deleted file mode 100755 index 7ddf05f..0000000 --- a/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -CGO_ENABLED=0 go build -a --installsuffix cgo --ldflags="-s" -o whoami -docker build -t containous/whoami .