This project is discontinued in this form
A project to track progress on supporting ARM64 platforms with Jenkins X.
We value respect and inclusiveness and follow the CDF Code of Conduct in all interactions.
Note: Thoughout this project, Arm Server and Arm64 are used equivalently to refer to the architecture of arm64.
Note: Here is the Jenkins X Enhancement Proposal which is a high level issue to track things
The goals of this project are:
- To verify the CDF Components and their dependencies execute on Arm servers (aka. arm64), or in Docker containers on Arm servers.
- If a component or dependency needs to be upgraded from the version supplied by the server’s host operating system distribution, we will build it. If it does not build, we will port the software to successfully build, and deploy it on the ARM server.
- To build two proof of concept CI/CD clusters to run in the project cloud with this software: a. One cluster using Prow and Jenkins to demonstrate workloads that require the use of a legacy Jenkins server to automate CI/CD pipelines. b. Another cluster using Tekton to demonstrate serverless CI/CD pipelines.
- To demonstrate a working CI/CD pipeline for Jenkins X on an ARM server based cloud.
We have migrated the following components in Jenkins X to use multi-architecture images in releases and so are ready to be tested on ARM servers. The images may need to be mirrored to another container registry from gcr.io:
-
jenkins-x/jx-git-operator using this Dockerfile creates this image: gcr.io/jenkinsxio/jx-git-operator
-
jenkins-x/jx-cli using this Dockerfile creates this image: gcr.io/jenkinsxio/jx-boot
-
jenkins-x/jx-preview using this Dockerfile creates this image: gcr.io/jenkinsxio/jx-preview
-
jenkins-x/jx-promote using this Dockerfile creates this image: gcr.io/jenkinsxio/jx-promote
-
Tekton now includes a multi-arch image
Those images should be enough to start booting a Jenkins X V3 cluster following the kubernetes instructions
Note that pipelines are still being converted to multi-architecture images so those won't yet work; but hopefully soon...
The following need migration
- kaniko-debug needs a multi-architecture build. There's a multi-arch one but no shell included yet so we can't use it yet
- lighthouse
- jx-build-controller
- bucketrepo
(To be clarified) The following components are identified as a minimum set to let Jenkins X to run on Arm server:
- Kubernetes
- Docker, Docker Registry
- Jx
- Helm 2, Tiller
- Helm 3,
- Prow, Lighthouse, Jenkins, Tekton
- Vault
- Nexus Repository OSS
- ChartMuseum, Monocular
(To be clarified)
- M1: Initial project setup
- M2: Tool assessment and prepartion, ensure the CDF components and their depenencies can be built for, deployed and run on arm64.
- M3: Cluster using Prow and Jenkins
- M4: Serverless pipeline using Tekton
- M5: Demonstrate workloads on Arm64 CI cluster.
If you want to join us on CDF slack in #jenkins-x-to-arm