diff --git a/.travis.yml b/.travis.yml index b9e5d87..d0bc237 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,15 @@ -language: go +language: minimal -go: - - stable +services: + - docker -# Go module behaviour is disabled by default for packages inside GOPATH. -# Turn module support on explicitly: -env: - - GO111MODULE=on +script: + - make docker-build deploy: - provider: heroku - app: ifconfig-co - api_key: - secure: IQG/ls5Zu0yua5Ynn5EL9JCPjo1/WcmS0z7BSaXWdgW+JIWFm7oF5z54bUZHl/q1tTuWzAJk59zSTYJijtQqh2Ssl3fLu3uFDwyJSrOuUu1akPlETam8NpdbH4lPkFp75JSDdDXV08c0APmeLL6gqRuTrUuufu69Wigjq4gLo+o= + - provider: script + script: make docker-push + - provider: heroku + app: ifconfig-co + api_key: + secure: IQG/ls5Zu0yua5Ynn5EL9JCPjo1/WcmS0z7BSaXWdgW+JIWFm7oF5z54bUZHl/q1tTuWzAJk59zSTYJijtQqh2Ssl3fLu3uFDwyJSrOuUu1akPlETam8NpdbH4lPkFp75JSDdDXV08c0APmeLL6gqRuTrUuufu69Wigjq4gLo+o= diff --git a/Dockerfile b/Dockerfile index 909a48c..eee3c56 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,9 @@ # Build -FROM golang:1.11-stretch AS build +FROM golang:1.12-stretch AS build WORKDIR /go/src/github.com/mpolden/echoip COPY . . -ENV GO111MODULE=on CGO_ENABLED=0 -RUN go install ./... +ENV GO111MODULE=on +RUN make # Run FROM scratch diff --git a/Makefile b/Makefile index ff5000e..6c234b5 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +DOCKER_IMAGE := mpolden/echoip OS := $(shell uname) ifeq ($(OS),Linux) TAR_OPTS := --wildcards @@ -31,3 +32,12 @@ $(databases): test ! -f data/GeoLite2-Country.mmdb || mv data/GeoLite2-Country.mmdb data/country.mmdb geoip-download: $(databases) + +docker-build: + docker build -t $(DOCKER_IMAGE) . + +docker-login: + @echo "$(DOCKER_PASSWORD)" | docker login -u "$(DOCKER_USERNAME)" --password-stdin + +docker-push: docker-login + docker push $(DOCKER_IMAGE) diff --git a/go.mod b/go.mod index 5d6095a..2d40e34 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,5 @@ // +heroku install ./... -// +heroku goVersion go1.11 +// +heroku goVersion go1.12 module github.com/mpolden/echoip require (