Comments (7)
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.
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.
- Should I run separate naming?
- Which architectures should we build? (Only arm64v8 or others?)
from docker-ansible.
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.
- Should I run separate naming?
- 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:
- 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. - 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.
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.
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.
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.
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)
- container restarting loop HOT 2
- Wrong ansible versions in the ubuntu- and alpine- based ansible-2.11 images HOT 2
- Error for local steps with ansible:2.9-alpine-3.12 container HOT 2
- Wrong Docker image tags for Alpine versions
- All tags seem to run ansible core 2.13.1 HOT 3
- Wrong 'password_hash' module result for 'bcrypt' algorithm using willhallonline/ansible:2.12-bullseye image HOT 6
- ERROR! Invalid play strategy specified: mitogen_linear when using ansible-base/alpine316/Dockerfile HOT 3
- Include pymssql python and ansible collection community-general dependencies HOT 2
- Alpine 3.17 with Ansible-lint issue with `packaging` HOT 1
- ansible-galaxy requires resolvelib <0.6.0, >=0.5.3 HOT 4
- New architecture for image with latest tag on Docker Hub HOT 6
- ansible-galaxy collection list is rather old HOT 3
- Version 2.15-ubuntu-22.04 unable to run playbook HOT 2
- Ansible 2.16 HOT 2
- ansible-galaxy requires resolvelib<0.9.0,>=0.5.3 HOT 4
- Unable to obtain the current directory HOT 4
- Readme.md: Older Releases section 2.9 and 2.10 links broken HOT 1
- Ansible 2.16 unexpectedly in 2.14-alpine-* and 2.15-alpine-* tags HOT 3
- Possibly wrong ssh key path in example commands
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-ansible.