From 7f9429d1ab8f702a9bb6717df7ce4320869cbb23 Mon Sep 17 00:00:00 2001 From: Frank Febbraro <febbraro@users.noreply.github.com> Date: Fri, 10 Nov 2017 15:00:54 -0800 Subject: [PATCH] Better cross platform builds (#118) * Reverted Dockerfile to alpine base for quicker builds and smaller images * Added CGO_ENABLED=0 to compile --- .goreleaser.yml | 2 ++ Dockerfile | 33 ++++++++++++++------------------- docker-compose.yml | 1 + 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index a2e2360..91337c0 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -5,6 +5,8 @@ project_name: outrigger-cli builds: - binary: rig main: ./cmd/main.go + env: + - CGO_ENABLED=0 goos: - windows - darwin diff --git a/Dockerfile b/Dockerfile index 14c39fd..31a9ee6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,20 @@ -FROM golang:1.9 +FROM golang:1.9-alpine -# Install Ruby -WORKDIR /tmp -RUN apt-get -y update \ - && apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev -RUN wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.gz \ - && tar xzf ruby-2.4.2.tar.gz \ - && cd ruby-2.4.2 \ - && ./configure --prefix=/usr/local \ - && make \ - && make install +RUN apk add --no-cache \ + ca-certificates \ + git \ + gcc \ + libffi-dev \ + make \ + musl-dev \ + rpm \ + ruby \ + ruby-dev \ + tar -# Install fpm for package building -RUN apt-get install -y rpm \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists \ - && gem install --no-rdoc --no-ri fpm - -# Back to the Go thingies -WORKDIR /go RUN go get -u github.com/golang/dep/... \ && go get -u github.com/alecthomas/gometalinter \ && go get -u github.com/goreleaser/goreleaser + RUN gometalinter --install --update +RUN gem install --no-rdoc --no-ri fpm diff --git a/docker-compose.yml b/docker-compose.yml index 3d22452..2e7eb9a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,6 +23,7 @@ services: environment: GOOS: ${GOOS:-darwin} GOARCH: ${GOARCH:-amd64} + CGO_ENABLED: 0 # Install project dependencies. install: