Skip to content

Commit 4b84ce7

Browse files
committed
devapp/devappserver: add Dockerfile in preparation for running on GKE
Since we can’t run an App Engine Flex app on *.golang.org (see issue), the Flex app.yaml file is removed. Updates golang/go#20691 Change-Id: Id775962349a88b119c9fe671f9a5180f70528836 Reviewed-on: https://go-review.googlesource.com/46133 Reviewed-by: Brad Fitzpatrick <[email protected]>
1 parent 9fb5d08 commit 4b84ce7

File tree

5 files changed

+91
-13
lines changed

5 files changed

+91
-13
lines changed

devapp/devappserver/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
devappserver
2+
ca-certificates.crt

devapp/devappserver/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright 2017 The Go Authors. All rights reserved.
2+
# Use of this source code is governed by a BSD-style
3+
# license that can be found in the LICENSE file.
4+
FROM scratch
5+
LABEL maintainer "[email protected]"
6+
COPY ca-certificates.crt /etc/ssl/certs/
7+
COPY devappserver /
8+
ENTRYPOINT ["/devappserver"]

devapp/devappserver/Dockerfile.0

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright 2017 The Go Authors. All rights reserved.
2+
# Use of this source code is governed by a BSD-style
3+
# license that can be found in the LICENSE file.
4+
FROM golang:1.8
5+
LABEL maintainer "[email protected]"
6+
7+
RUN go get -d github.com/aclements/go-gg/generic/slice && \
8+
go get -d github.com/aclements/go-gg/gg && \
9+
go get -d github.com/aclements/go-gg/ggstat && \
10+
go get -d github.com/aclements/go-gg/table && \
11+
cd /go/src/github.com/aclements/go-gg && git reset --hard abd1f791f5ee99465ee7cffe771436379d6cee5a
12+
13+
RUN go get -d github.com/aclements/go-moremath/stats && \
14+
cd /go/src/github.com/aclements/go-moremath && git reset --hard 033754ab1fee508c9f98f2785eec2365964e0b05
15+
16+
RUN go get -d github.com/google/go-github/github && \
17+
cd /go/src/github.com/google/go-github && git reset --hard 7a51fb928f52a196d5f31daefb8a489453ef54ff
18+
19+
RUN go get -d github.com/kylelemons/godebug/pretty && \
20+
cd /go/src/github.com/kylelemons/godebug && git reset --hard a616ab194758ae0a11290d87ca46ee8c440117b0
21+
22+
RUN go get -d golang.org/x/net/context && \
23+
cd /go/src/golang.org/x/net && git reset --hard fe686d45ea04bc1bd4eff6a52865ce8757320325
24+
25+
RUN go get -d golang.org/x/oauth2 && \
26+
cd /go/src/golang.org/x/oauth2 && git reset --hard f047394b6d14284165300fd82dad67edb3a4d7f6
27+
28+
RUN go get -d golang.org/x/sync/errgroup && \
29+
cd /go/src/golang.org/x/sync && git reset --hard f52d1811a62927559de87708c8913c1650ce4f26
30+
31+
# Optimization to speed COPY+go install steps later. This go install
32+
# isn't required for correctness.
33+
RUN go install github.com/aclements/go-gg/generic/slice \
34+
github.com/aclements/go-gg/gg \
35+
github.com/aclements/go-gg/ggstat \
36+
github.com/aclements/go-gg/table \
37+
github.com/aclements/go-moremath/stats \
38+
github.com/google/go-github/github \
39+
github.com/kylelemons/godebug/pretty \
40+
golang.org/x/net/context \
41+
golang.org/x/oauth2 \
42+
golang.org/x/sync/errgroup
43+
44+
COPY . /go/src/golang.org/x/build/
45+
46+
RUN go install -ldflags "-linkmode=external -extldflags '-static -pthread'" golang.org/x/build/devapp/devappserver

devapp/devappserver/Makefile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright 2017 The Go Authors. All rights reserved.
2+
# Use of this source code is governed by a BSD-style
3+
# license that can be found in the LICENSE file.
4+
5+
VERSION=latest
6+
DOCKER_IMAGE_build0=build0/devappserver:latest
7+
DOCKER_CTR_build0=devappserver-build0
8+
9+
build0: *.go Dockerfile.0
10+
docker build --force-rm -f Dockerfile.0 --tag=$(DOCKER_IMAGE_build0) ../..
11+
12+
devappserver: build0
13+
docker create --name $(DOCKER_CTR_build0) $(DOCKER_IMAGE_build0)
14+
docker cp $(DOCKER_CTR_build0):/go/bin/$@ $@
15+
docker rm $(DOCKER_CTR_build0)
16+
17+
ca-certificates.crt:
18+
docker create --name $(DOCKER_CTR_build0) $(DOCKER_IMAGE_build0)
19+
docker cp $(DOCKER_CTR_build0):/etc/ssl/certs/$@ $@
20+
docker rm $(DOCKER_CTR_build0)
21+
22+
docker-prod: Dockerfile devappserver ca-certificates.crt
23+
docker build --force-rm --tag=gcr.io/symbolic-datum-552/devappserver:$(VERSION) .
24+
docker-dev: Dockerfile devappserver ca-certificates.crt
25+
docker build --force-rm --tag=gcr.io/go-dashboard-dev/devappserver:latest .
26+
27+
push-prod: docker-prod
28+
gcloud docker -- push gcr.io/symbolic-datum-552/devappserver:$(VERSION)
29+
push-dev: docker-dev
30+
gcloud docker -- push gcr.io/go-dashboard-dev/devappserver:latest
31+
32+
.PHONY: clean
33+
clean:
34+
$(RM) devappserver
35+
$(RM) ca-certificates.crt

devapp/devappserver/app.yaml

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)