inspectIT / inspectit-ocelot

inspectIT Ocelot - Java agent for collecting application performance, tracing and behavior data
http://www.inspectit.rocks/
Apache License 2.0
202 stars 69 forks source link

[Feature] - Crossplatform docker images #1394

Open aaronweissler opened 2 years ago

aaronweissler commented 2 years ago

Is your feature request related to a problem? Please describe. When using an ARM-based processor, e.g. with an M1 Mac, the currently built docker images need to be run using emulation which leads to worse performance.

Describe the solution you'd like Build and publish the docker images for both amd64 and arm using crossplatform builds.

aaronweissler commented 2 years ago

buildx did not work with our CircleCI despite the remote-docker version supposedly supporting it. Will probably wait with this in favor of #1425, since implementing that change would render time spent troubleshooting this issue wasted.

aaronweissler commented 2 years ago

Unfortunately, the gradle plugin we are using for Docker builds currently does not fully support buildx as we would need it, either. Because you can only push buildx images immediately after building and due to how the plugin works internally, you can only build and push buildx images with one specific tag, so for example we could build and push only a latest image for each release or only an image with the version tag but not both..

Instead we could try to do it ourselves using CLI commands directly (the commands would be rather simple, the question with this mainly would be, whether we have access to Docker within the GitHub Action environment, but I think we should have) or using the official GitHub Action https://github.com/marketplace/actions/build-and-push-docker-images