mirror of
https://github.com/octoleo/syncthing.git
synced 2025-01-22 22:58:25 +00:00
Improve docker image and build
This commit is contained in:
parent
fe2ae4c6c3
commit
1db120bf06
6
build.sh
6
build.sh
@ -2,7 +2,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
|
||||||
DOCKERIMGV=1.3.3-1
|
DOCKERIMGV=1.3.3-2
|
||||||
|
|
||||||
case "${1:-default}" in
|
case "${1:-default}" in
|
||||||
default)
|
default)
|
||||||
@ -108,12 +108,12 @@ case "${1:-default}" in
|
|||||||
docker build -q -t syncthing/build:$DOCKERIMGV docker
|
docker build -q -t syncthing/build:$DOCKERIMGV docker
|
||||||
;;
|
;;
|
||||||
|
|
||||||
docker)
|
docker-all)
|
||||||
docker run --rm -h syncthing-builder -u $(id -u) -t \
|
docker run --rm -h syncthing-builder -u $(id -u) -t \
|
||||||
-v $(pwd):/go/src/github.com/syncthing/syncthing \
|
-v $(pwd):/go/src/github.com/syncthing/syncthing \
|
||||||
-w /go/src/github.com/syncthing/syncthing \
|
-w /go/src/github.com/syncthing/syncthing \
|
||||||
syncthing/build:$DOCKERIMGV \
|
syncthing/build:$DOCKERIMGV \
|
||||||
sh -c './build.sh clean && ./build.sh && STTRACE=all ./build.sh test-cov && ./build.sh all'
|
sh -c './build.sh clean && STTRACE=all ./build.sh test-cov && ./build.sh all'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
FROM debian:jessie
|
FROM debian:squeeze
|
||||||
|
MAINTAINER Jakob Borg <jakob@nym.se>
|
||||||
|
|
||||||
|
ENV GOLANG_VERSION 1.3.3
|
||||||
|
|
||||||
# SCMs for "go get", gcc for cgo
|
# SCMs for "go get", gcc for cgo
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
ca-certificates curl gcc libc6-dev make \
|
ca-certificates curl gcc libc6-dev make \
|
||||||
bzr git mercurial unzip \
|
bzr git mercurial unzip \
|
||||||
--no-install-recommends \
|
--no-install-recommends \
|
||||||
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
ENV GOLANG_VERSION 1.3.3
|
|
||||||
|
|
||||||
# Get the binary dist of Go to be able to bootstrap gonative.
|
# Get the binary dist of Go to be able to bootstrap gonative.
|
||||||
|
|
||||||
RUN curl -sSL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz \
|
RUN curl -sSL https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz \
|
||||||
| tar -v -C /usr/local -xz
|
| tar -v -C /usr/local -xz
|
||||||
|
|
||||||
ENV PATH /usr/local/go/bin:$PATH
|
ENV PATH /usr/local/go/bin:$PATH
|
||||||
@ -22,14 +24,15 @@ WORKDIR /go
|
|||||||
|
|
||||||
# Use gonative to install native Go for most arch/OS combos
|
# Use gonative to install native Go for most arch/OS combos
|
||||||
|
|
||||||
RUN go get github.com/calmh/gonative
|
RUN go get github.com/calmh/gonative \
|
||||||
RUN cd /usr/local \
|
&& cd /usr/local \
|
||||||
&& rm -rf go \
|
&& rm -rf go \
|
||||||
&& gonative -version $GOLANG_VERSION
|
&& gonative -version $GOLANG_VERSION
|
||||||
|
|
||||||
# Random build users needs to be able to create stuff in /go/pkg
|
# Random build users needs to be able to create stuff in /go
|
||||||
|
|
||||||
RUN chmod -R 777 /go/pkg
|
RUN rm -rf /go/pkg \
|
||||||
|
&& chmod 777 /go
|
||||||
|
|
||||||
# Rebuild the special and missing versions
|
# Rebuild the special and missing versions
|
||||||
|
|
||||||
@ -43,14 +46,13 @@ RUN bash -xec '\
|
|||||||
CGO_ENABLED=0 \
|
CGO_ENABLED=0 \
|
||||||
./make.bash --no-clean 2>&1; \
|
./make.bash --no-clean 2>&1; \
|
||||||
done \
|
done \
|
||||||
|
&& ./make.bash --no-clean \
|
||||||
'
|
'
|
||||||
|
|
||||||
# And rebuild native without the flags above
|
|
||||||
|
|
||||||
RUN cd /usr/local/go/src \
|
|
||||||
&& ./make.bash --no-clean
|
|
||||||
|
|
||||||
# Install packages needed for test coverage
|
# Install packages needed for test coverage
|
||||||
|
|
||||||
RUN go get github.com/tools/godep && go get code.google.com/p/go.tools/cmd/cover && go get github.com/axw/gocov/gocov && go get github.com/AlekSi/gocov-xml
|
RUN go get github.com/tools/godep \
|
||||||
|
&& go get code.google.com/p/go.tools/cmd/cover \
|
||||||
|
&& go get github.com/axw/gocov/gocov \
|
||||||
|
&& go get github.com/AlekSi/gocov-xml
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user