docker: Add ARM docker container dockerfile. (#3574)

This commit is contained in:
Harshavardhana 2017-03-07 15:15:05 -08:00 committed by GitHub
parent a2eae54d11
commit 3e655a2c85
3 changed files with 49 additions and 11 deletions

View File

@ -1,6 +1,9 @@
go_import_path: github.com/minio/minio go_import_path: github.com/minio/minio
sudo: required sudo: required
services:
- docker
dist: trusty dist: trusty
language: go language: go
@ -13,12 +16,28 @@ env:
- ARCH=i686 - ARCH=i686
script: script:
# Refer https://blog.hypriot.com/post/setup-simple-ci-pipeline-for-arm-images/
# prepare qemu
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
# build image
- docker build -t minio/minio:edge-armhf . -f Dockerfile.armhf
# test image
- docker run --rm minio/minio:edge-armhf version
## Run all the tests
- make - make
- make test GOFLAGS="-timeout 15m -race -v" - make test GOFLAGS="-timeout 15m -race -v"
- make coverage - make coverage
# push image
- >
if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
docker login -u="$DOCKER_USER" -p="$DOCKER_PASS"
docker push minio/minio:edge-armhf
fi
after_success: after_success:
- bash <(curl -s https://codecov.io/bash) - bash <(curl -s https://codecov.io/bash)
go: go:
- 1.7.4 - 1.7.5

View File

@ -1,16 +1,17 @@
FROM golang:1.7-alpine FROM alpine:3.5
WORKDIR /go/src/app ENV GOPATH /go
ENV PATH $PATH:$GOPATH/bin
ENV CGO_ENABLED 0
COPY . /go/src/app WORKDIR /go/src/github.com/minio/
RUN \ RUN \
apk add --no-cache git && \ apk add --no-cache --virtual .build-deps git go musl-dev ca-certificates && \
go-wrapper download && \ go get -v -d github.com/minio/minio && \
go-wrapper install -ldflags "$(go run buildscripts/gen-ldflags.go)" && \ cd /go/src/github.com/minio/minio && \
mkdir -p /export/docker && \ go install -v -ldflags "$(go run buildscripts/gen-ldflags.go)" && \
rm -rf /go/pkg /go/src && \ rm -rf /go/pkg /go/src /usr/local/go && apk del .build-deps
apk del git
EXPOSE 9000 EXPOSE 9000
ENTRYPOINT ["minio"] ENTRYPOINT ["minio"]

18
Dockerfile.armhf Normal file
View File

@ -0,0 +1,18 @@
FROM resin/armhf-alpine:3.5
ENV GOPATH /go
ENV PATH $PATH:$GOPATH/bin
ENV CGO_ENABLED 0
WORKDIR /go/src/github.com/minio/
RUN \
apk add --no-cache --virtual .build-deps git go musl-dev ca-certificates && \
go get -v -d github.com/minio/minio && \
cd /go/src/github.com/minio/minio && \
go install -v -ldflags "$(go run buildscripts/gen-ldflags.go)" && \
rm -rf /go/pkg /go/src /usr/local/go && apk del .build-deps
EXPOSE 9000
ENTRYPOINT ["minio"]
VOLUME ["/export"]