特拉维斯多build筑Buiilds

我有一个项目,我正在尝试为ARM和x86_64构build。

x86_64构build通过,但构build失败:

Status: Downloaded newer image for kutsudock/rpi-alpine-go:latest standard_init_linux.go:175: exec user process caused "exec format error" 

这是我的yaml:

 env: global: - VERSION=1.${TRAVIS_BUILD_NUMBER} matrix: - ARCH=x86_64 GOIMG=golang:1.6 DOCKER_BUILD=mastermindg/docker-flow-proxy:${VERSION} DOCKERFILE=Dockerfile.amd64 - ARCH=rpi GOIMG=kutsudock/rpi-alpine-go DOCKER_BUILD=mastermindg/docker-flow-proxy:rpi-${VERSION} DOCKERFILE=Dockerfile.rpi sudo: required services: - docker script: - docker run --rm -v $PWD:/usr/src/myapp -w /usr/src/myapp -v go:/go ${GOIMG} bash -c "cd /usr/src/myapp && go get -d -v -t && go test --cover -v ./... --run UnitTest && go build -v -o docker-flow-proxy" after_success: - docker build -t ${DOCKER_BUILD} -f ${DOCKERFILE} . - '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD || false' - '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && docker push ${DOCKER_BUILD} || false' branches: only: - master 

我怎么能得到在特拉维斯build立的armdocker图像?

看过特拉维斯后,我发现这个问题:

https://github.com/travis-ci/travis-ci/issues/3376

感谢@moul Debian有一个多拱形bootstrap。 只需在您的Docker运行之前注册qemu,它就可以工作!

在你的情况下:

 docker run --rm --privileged multiarch/qemu-user-static:register docker run --rm -v $PWD:/usr/src/myapp -w /usr/src/myapp -v go:/go ${GOIMG} bash -c "cd /usr/src/myapp && go get -d -v -t && go test --cover -v ./... --run UnitTest && go build -v -o docker-flow-proxy"