Giter Site home page Giter Site logo

docker-on-ci's Introduction

Docker on CI

Github Action GitlabCI CircleCI travis

docker-on-ci's People

Contributors

jdrouet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docker-on-ci's Issues

Cannot use RUN in dockerfile?

Hello,

Thank you for theses examples it helped me greatly to get on the right track in order to build multiarch images for emacs (https://github.com/Silex/docker-emacs). I'm not very far from success but there are still a few roadblocks to solve.

I discovered that as soon as you use RUN in a Dockerfile on travis with your setup things fail for arm/v7.

Luckily the fix is rather simple: use docker run --rm --privileged multiarch/qemu-user-static --reset -p yes instead of the register version. Maybe you want to update your example and add a silly RUN statement to show it work.

Maybe you can clarify something for me: buildx builds, creates the manifest, annotate... that is great, but that is for a single node, and building through qemu is slow.

Travis introduced arm workers, so I was thinking of building amd64/i386 on an amd64 worker, and building arm v7/v8 on an arm worker. I don't think that would work because one worker would create a manifest for amd64/i386 and the other for armv7/armv8 and both would overwrite the other's manifest.

I think "the buildx way" requires you to create a swarm of builder notes which will be hard to do with the travis workers ๐Ÿ˜•

Maybe I could simply build/push in each workers with explicit tags like foo:amd64, foo:arm64, and then a 3rd worker only builds the full manifest and push it.

One resulting tag, multiple runners

Hello!

I had a question. I'd like to end up with the result that buildx provides -- one new tag with multiple images. However, my build takes a long time, especially when using qemu to emulate arm architectures. I'm currently running on GitLab CI (though I'm not 100% locked into that). The limit there is 3 hours, and when using a simultaneous build with buildx, the time goes over and the job fails. I split the task into multiple simultaneous jobs (one making amd64, one arm via qemu, and another arm64 vis qemu). This works fine, and things are recombined into one at the end with manifest. However, this makes four tags for what could just be one.

Is there any way you know of to have only one tag / manifest, while still building on separate machines?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.