question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Build nevergreen docker image for linux/arm64 and linux/arm/v7

See original GitHub issue

Feature Request

What would you like to be able to do? I’d love to be able to run Nevergreen on Raspberry Pi via Docker. Although the Raspberry Pi itself is an arm64 processor, Raspbian is built for 32-bit, so only works with armv7 built Docker images.

Currently images are only built for linux/amd64.

What problem would it solve? When running in private/enterprise environments, teams often need to run Nevergreen themselves (e.g for CI servers behind VPNs or local networks). Raspberry Pi is a convenient way to do that in lieu of proper support from the team running the CI tooling, and Docker makes this relatively simple to get going with.

Additional info I’m not sure on the CircleCI build process for Nevergreen, however this Bamboo proxy project shows an example of doing so with docker buildx on GitHub actions; including automating the manifest creation and publishing to DockerHub.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:5 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
chadlwilsoncommented, Dec 22, 2019

After a bit more thinking, I found this not really quite as necessary as I was first thinking, since Nevergreen is also released as an executable jar which makes it pretty easy to run anywhere.

Adocker-compose.yml like the below works perfectly fine on the Pi using the adoptopenjdk base images which are already multi-architecture builds.

version: "3.7"

services:
  nevergreen:
    image: adoptopenjdk:12-hotspot
    ports:
      - 5000:5000
    volumes:
      - ./tmp:/app
    command: ['java', '-jar', '/app/nevergreen-standalone.jar']
    restart: unless-stopped

with this to download the latest version prior

mkdir -p tmp
if [[ ! -f tmp/nevergreen-standalone.jar ]]; then
  wget $( curl https://api.github.com/repos/build-canaries/nevergreen/releases/latest | grep browser_download_url | head -n 1 | cut -d '"' -f 4 )
  mv nevergreen-standalone.jar tmp/nevergreen-standalone.jar
fi
0reactions
chadlwilsoncommented, Nov 9, 2022

Yup, no worries.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Building Multi-Arch Images for Arm and x86 with Docker Desktop
The --push flag generates a multi-arch manifest and pushes all the images to Docker Hub. Let's use imagetools to inspect what we did....
Read more >
Building ARM Docker images with GitLab-Runner - Medium
Explaining the ARM architecture including, armv6l, armv7l & aarch64 and building ARM Docker images with Gitlab-Runner using emulation on an ...
Read more >
Multi-architecture images - Getting started with Docker
Docker Desktop allows you to create and test Arm images from your Windows desktop. The best way to create images for Arm is...
Read more >
Building Multi-Architecture Docker Images on ARM 64-bit ...
However, if you run Linux, or want to build your Docker images correctly, as part of your CI/CD pipeline, read on. Install Docker...
Read more >
Relation between linux/arm64 and linux/arm64/v8: are these ...
Architecture}}' linux/amd64 $ docker pull --platform aarch64 alpine $ docker image inspect alpine --format '{{.Os}}/{{.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found