jdrouet / docker-on-ci Goto Github PK
View Code? Open in Web Editor NEWExamples of how to use docker on different CIs
Examples of how to use docker on different CIs
could you please share the yaml file for github action?
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.
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.