Skip to content

Commit 5867db0

Browse files
committed
Using golang builder to compile
Signed-off-by: Vishal Rana <[email protected]>
1 parent 2fb0b19 commit 5867db0

File tree

2 files changed

+13
-27
lines changed

2 files changed

+13
-27
lines changed

Dockerfile

+5-18
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
1-
# Build image
2-
FROM golang:alpine AS builder
3-
MAINTAINER Vishal Rana <[email protected]>
1+
FROM alpine:3.7
42

5-
COPY . /go/src/github.com/labstack/armor
3+
# https://letsencrypt.org
4+
RUN apk add --no-cache ca-certificates
65

7-
WORKDIR /go/src/github.com/labstack/armor
6+
COPY build/armor-*_linux-64 /usr/local/bin/armor
87

9-
RUN set -x \
10-
&& export CGO_ENABLED=0 \
11-
&& go build -v -o /go/bin/armor cmd/armor/main.go
12-
13-
# Executable image
14-
FROM scratch
15-
16-
WORKDIR /
17-
18-
COPY --from=builder /go/bin/armor /armor
19-
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
20-
21-
ENTRYPOINT ["/armor"]
8+
ENTRYPOINT ["armor"]

Makefile

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
IMAGE = labstack/armor
22
VERSION = 0.3.7
3+
WORKDIR = /go/src/github.com/labstack/armor
34

45
clean:
56
rm -rf build
67

78
build: clean
8-
GOOS=linux GOARCH=amd64 go build -o build/armor-$(VERSION)_linux-64 cmd/armor/main.go
9-
GOOS=linux GOARCH=arm go build -o build/armor-$(VERSION)_linux-arm32 cmd/armor/main.go
10-
GOOS=linux GOARCH=arm64 go build -o build/armor-$(VERSION)_linux-arm64 cmd/armor/main.go
11-
GOOS=darwin GOARCH=amd64 go build -o build/armor-$(VERSION)_darwin-64 cmd/armor/main.go
12-
GOOS=windows GOARCH=amd64 go build -o build/armor-$(VERSION)_windows-64.exe cmd/armor/main.go
9+
docker run -v `pwd`:$(WORKDIR) -w $(WORKDIR) golang:1.9 sh -c '\
10+
GOOS=linux GOARCH=amd64 go build -o build/armor-$(VERSION)_linux-64 cmd/armor/main.go \
11+
&& GOOS=linux GOARCH=arm go build -o build/armor-$(VERSION)_linux-arm32 cmd/armor/main.go \
12+
&& GOOS=linux GOARCH=arm64 go build -o build/armor-$(VERSION)_linux-arm64 cmd/armor/main.go \
13+
&& GOOS=darwin GOARCH=amd64 go build -o build/armor-$(VERSION)_darwin-64 cmd/armor/main.go \
14+
&& GOOS=windows GOARCH=amd64 go build -o build/armor-$(VERSION)_windows-64.exe cmd/armor/main.go'
1315
docker build -t $(IMAGE):$(VERSION) -t $(IMAGE) .
1416

15-
install:
16-
go install cmd/armor/main.go
17-
1817
push: build
1918
docker push $(IMAGE):$(VERSION)
2019
docker push $(IMAGE):latest
2120

22-
.PHONY: clean build install push
21+
.PHONY: clean build push

0 commit comments

Comments
 (0)