зеркало из https://github.com/golang/build.git
dashboard: start of Dockeritization of Linux builders
Good checkpoint. Can now do builds by hand. Next step is coordinator server in front of this, and things to fire up beefy GCE instances running CoreOS and each build in its own Docker container. See README for how to do a single build. LGTM=adg R=adg CC=golang-codereviews https://golang.org/cl/134870043
This commit is contained in:
Родитель
a61d25255d
Коммит
9bdde50445
|
@ -0,0 +1,44 @@
|
|||
# Copyright 2014 The Go Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
# Base builder image: gobuilders/linux-x86-base
|
||||
|
||||
FROM debian:wheezy
|
||||
MAINTAINER golang-dev <golang-dev@googlegroups.com>
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
RUN apt-get update && apt-get upgrade -y
|
||||
|
||||
# For running curl to get the hg starter tarballs (faster than hg clone).
|
||||
RUN apt-get install -y --no-install-recommends curl ca-certificates
|
||||
|
||||
# Optionally used by some net/http tests:
|
||||
RUN apt-get install -y --no-install-recommends strace
|
||||
|
||||
# For building Go's bootstrap 'dist' program:
|
||||
RUN apt-get install -y --no-install-recommends gcc libc6-dev
|
||||
|
||||
# For 32-bit builds:
|
||||
RUN apt-get install -y --no-install-recommends libc6-dev-i386
|
||||
|
||||
# For interacting with the Go source & subrepos:
|
||||
RUN apt-get install -y --no-install-recommends mercurial git-core subversion
|
||||
|
||||
ENV GOPATH /gopath
|
||||
ENV GOROOT /goroot
|
||||
|
||||
RUN mkdir -p $GOROOT
|
||||
RUN cd $GOROOT && curl -s https://storage.googleapis.com/gobuilder/go-snap.tar.gz | tar x --no-same-owner -zv
|
||||
|
||||
ENV GO_TOOLS $GOPATH/src/code.google.com/p/go.tools
|
||||
RUN mkdir -p $GO_TOOLS
|
||||
RUN cd $GO_TOOLS $ && curl -s https://storage.googleapis.com/gobuilder/go.tools-snap.tar.gz | tar x --no-same-owner -zv
|
||||
|
||||
RUN cd $GOROOT && hg update -C b8ff0ec2a724
|
||||
RUN cd $GOROOT/src && ./make.bash
|
||||
RUN mkdir -p /usr/local/bin
|
||||
|
||||
RUN cd $GO_TOOLS && hg update -C 881a2f3130de
|
||||
ENV GOBIN /usr/local/bin
|
||||
RUN /goroot/bin/go install code.google.com/p/go.tools/dashboard/builder
|
|
@ -0,0 +1,9 @@
|
|||
# Copyright 2014 The Go Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
docker: Dockerfile
|
||||
docker build -t gobuilders/linux-x86-base .
|
||||
|
||||
push: docker
|
||||
docker push gobuilders/linux-x86-base
|
|
@ -0,0 +1,11 @@
|
|||
For now, you can at least do a single build of a single revision:
|
||||
|
||||
$ export BUILD=linux-amd64-temp
|
||||
$ docker run \
|
||||
-v $HOME/keys/$BUILD.buildkey:/.gobuildkey \
|
||||
gobuilders/linux-x86-base \
|
||||
/usr/local/bin/builder -rev=50ac9eded6ad -buildroot=/ -v $BUILD
|
||||
|
||||
TODO(bradfitz): automate with CoreOS + GCE, ala:
|
||||
https://github.com/bradfitz/camlistore/blob/master/misc/gce/create.go
|
||||
|
Загрузка…
Ссылка в новой задаче