Repository navigation
Conversation
- Select architecture-specific parts (JAVA_HOME, Miniconda installer, micromamba) from TARGETARCH so the images build for amd64 and arm64 - Replace the dead micromamba source (snakepit) with micro.mamba.pm - Create the conda env with `mamba env create` (required on mamba 2.x) - Make Z_VERSION a build ARG for the all-in-one image - Add the docker-publish workflow for multi-arch Docker Hub push - Update the docker deployment docs to use buildx
Member
|
@HwangRock Hello, as you talked with another channel, can we try to build a nightly-version of Apache Zeppelin everyday if there's any new commit in the master branch? It uses the release version to build a docker image, but we'd better build by actions with the latest master. It could be triggered daily basis and manually. WDYT? I got a confirmation from INFRA team being set by the proper secrets. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is this PR for?
Adds ARM64 (multi-arch) support for the Zeppelin Docker images so they can run natively on arm64 hosts such as Apple Silicon.
The Dockerfiles previously hardcoded x86 (amd64) specific values, so an arm64 build failed:
JAVA_HOMEwas pinned tojava-11-openjdk-amd64x86_64installerlinux-64channelEach of these is now selected from the
TARGETARCHbuild argument (injected automatically bydocker buildx), so the same Dockerfile builds for bothlinux/amd64andlinux/arm64.While fixing the interpreter image I also found the micromamba source (
micromamba.snakepit.net) is dead and currently breaks the amd64 build too; it is replaced with the current endpoint (micro.mamba.pm). The all-in-one image's conda environment creation is changed frommamba env update --prunetomamba env create, which is required for mamba 2.x (the former is rejected when the environment does not exist yet).A manually-triggered
docker-publishGitHub Actions workflow is added to build and push the multi-archapache/zeppelinimage to Docker Hub. Docker Hub credentials are referenced from repository secrets (DOCKERHUB_USER/DOCKERHUB_TOKEN); the login step is skipped on a dry run.What type of PR is it?
Improvement
What is the Jira issue?
ZEPPELIN-6068
How should this be tested?
Built the all-in-one image locally for
linux/arm64via QEMU buildx against the released0.12.0artifact; the build ran end to end and produced alinux/arm64image. (Published versions are built by the new workflow.)Local arm64 build log (QEMU, Z_VERSION=0.12.0)
Questions:
docs/setup/deployment/docker.mdis updated.