Commit 2c468ea8 authored by Eric Chiang's avatar Eric Chiang Committed by GitHub

Merge pull request #1068 from furuholm/multi-stage-docker-build

Replace docker-build script with multi-stage build
parents 64c97c73 b6c3074b
*
!_output/bin
!web
bin
FROM alpine:3.4
FROM golang:1.8.3-alpine
MAINTAINER Ed Rooth <ed.rooth@coreos.com>
MAINTAINER Lucas Servén <lucas.serven@coreos.com>
MAINTAINER Rithu John <rithu.john@coreos.com>
RUN apk add --no-cache --update alpine-sdk
COPY . /go/src/github.com/coreos/dex
RUN cd /go/src/github.com/coreos/dex && make release-binary
FROM alpine:3.4
# Dex connectors, such as GitHub and Google logins require root certificates.
# Proper installations should manage those certificates, but it's a bad user
# experience when this doesn't work out of the box.
......@@ -11,7 +17,7 @@ MAINTAINER Rithu John <rithu.john@coreos.com>
# OpenSSL is required so wget can query HTTPS endpoints for health checking.
RUN apk add --update ca-certificates openssl
COPY _output/bin/dex /usr/local/bin/dex
COPY --from=0 /go/bin/dex /usr/local/bin/dex
# Import frontend assets and set the correct CWD directory so the assets
# are in the default path.
......
......@@ -9,8 +9,6 @@ DOCKER_REPO=quay.io/coreos/dex
DOCKER_IMAGE=$(DOCKER_REPO):$(VERSION)
$( shell mkdir -p bin )
$( shell mkdir -p _output/images )
$( shell mkdir -p _output/bin )
user=$(shell id -u -n)
group=$(shell id -g -n)
......@@ -58,12 +56,8 @@ lint:
golint -set_exit_status $$package $$i || exit 1; \
done
_output/bin/dex:
@./scripts/docker-build
@sudo chown $(user):$(group) _output/bin/dex
.PHONY: docker-image
docker-image: clean-release _output/bin/dex
docker-image:
@sudo docker build -t $(DOCKER_IMAGE) .
.PHONY: proto
......@@ -85,13 +79,9 @@ bin/protoc-gen-go:
check-go-version:
@./scripts/check-go-version
clean: clean-release
clean:
@rm -rf bin/
.PHONY: clean-release
clean-release:
@rm -rf _output/
testall: testrace vet fmt lint
FORCE:
......
#!/bin/bash -e
mkdir -p _output/bin
sudo docker run \
--cidfile=cid \
-v $PWD:/go/src/github.com/coreos/dex:ro \
-w /go/src/github.com/coreos/dex \
golang:1.8.3-alpine \
/bin/sh -x -c \
'apk add --no-cache --update alpine-sdk && make release-binary'
sudo docker cp $( cat cid ):/go/bin/dex _output/bin/dex
sudo docker rm $( cat cid )
sudo rm cid
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment