Giter VIP home page Giter VIP logo

Comments (7)

spewu avatar spewu commented on May 27, 2024 1

OK, getting a local build running was pretty easy:

docker build --build-arg ARCH=arm64v8/ --build-arg ANSIBLE_CORE_VERSION_ARG=2.13.3 --build-arg ANSIBLE_VERSION=6.2.0 --build-arg ANSIBLE_LINT=6.4.0 ansible-core/alpine316/

but it would still be awesome if you could ship multi-arch builds 😄

from docker-ansible.

willhallonline avatar willhallonline commented on May 27, 2024

If we were to do this I have a couple of questions. The change would probably just mean more inside the gitlab-ci.yml file.

  1. Should I run separate naming?
  2. Which architectures should we build? (Only arm64v8 or others?)

from docker-ansible.

spewu avatar spewu commented on May 27, 2024

If we were to do this I have a couple of questions. The change would probably just mean more inside the gitlab-ci.yml file.

  1. Should I run separate naming?
  2. Which architectures should we build? (Only arm64v8 or others?)

So, first a caveat: I have not personally done this before, so my knowledge stems from my "theoretical" research, but this would be my answers to your questions:

  1. I don't think you should run separate naming. If you use docker buildx, then it will include all of the architectures in the same build, and with the same name. When a user then pulls the image, it will automatically pick the one that fits with their CPU architecture.
  2. I looked at some other popular images, and I see that a company like linuxserver, who builds and maintains a lot of docker images, seems to include these three: linux/amd64, linux/arm/v7 & linux/arm64/v8, e.g.: https://hub.docker.com/r/linuxserver/filezilla/tags

from docker-ansible.

benmoss avatar benmoss commented on May 27, 2024

Yep, with buildx you can create an "image index" (also known as a "manifest list").

Essentially a tag like alpine:latest will point to a list of images by OS and architecture, the client can use that and redirect itself to the appropriate one for the OS it's running on

An example, the ubuntu:latest image: https://explore.ggcr.dev/?image=ubuntu%3Alatest

from docker-ansible.

willhallonline avatar willhallonline commented on May 27, 2024

OK. So my next fun update is that, yes, multi-arch builds work well... Unfortunately, they also take a long time, too long for my 60-minute CI process to complete (I guess due to having to having to emulate/simulate different architectures). I will see if I can find another way around it, or I might have to just run more CI jobs.

from docker-ansible.

willhallonline avatar willhallonline commented on May 27, 2024

This is now working. I have already updated inside both Docker Hub and GitLab Registry. Also, I am working on an arm32 option which would mean that it would work in Raspberry Pi, but that is probably for a later release. Closing as I would say it is complete.

from docker-ansible.

spewu avatar spewu commented on May 27, 2024

This is now working. I have already updated inside both Docker Hub and GitLab Registry. Also, I am working on an arm32 option which would mean that it would work in Raspberry Pi, but that is probably for a later release. Closing as I would say it is complete.

Nice - thanks 👏🏻

from docker-ansible.

Related Issues (20)

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.