Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
  • Activity
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • More
  • Cancel
Software Tools
  • Developer Community
  • Tools and Software
  • Software Tools
  • Jump...
  • Cancel
Software Tools
Tools, Software and IDEs blog Jenkins Community Support for Arm Architecture
  • Tools, Software and IDEs blog
  • Forums
  • Videos & Files
  • Jump...
  • Cancel
More blogs in Software Tools
  • Tools, Software and IDEs blog

Tags
  • Arm TechCon
  • Continuous Integration (CI)
  • infrastructure
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Jenkins Community Support for Arm Architecture

Kushal Koolwal
Kushal Koolwal
October 8, 2019

It is a no surprise that enterprises and cloud service providers continue to go cloud-native at a rapid pace and DevOps, specifically, Continuous Integration (CI) and Continuous Delivery (CD) tools play a key role in delivering high-quality innovative software faster to their end-users. Arm is gaining significant momentum in edge-to-cloud software development applications and views CI/CD tools support as one of the foundational pillars to create a robust Arm software ecosystem by offering developers a frictionless environment.

In this blog, we are specifically going to focus on Jenkins, a popular Java based open source CI/CD tool used by software developers to build, test and deploy code. The goal of this blog post is to:

  • Showcase major open source projects running Jenkins CI on Arm based machines
  • Highlight Jenkins community support for Arm architecture and its current status
  • Build awareness to the general developer community using CI/CD tools

This is NOT a technical blog on how to use Jenkins or what CI/CD is. Plenty of excellent online resources exist covering these topics.

Projects with public Jenkins CI on Arm

Since Jenkins is written in Java programming language for which Arm has a robust support, installing and using Jenkins on Arm based machines is straightforward. The following table captures some of the major open source projects using Jenkins CI supporting multi-architecture with links to Jenkins Arm slaves running the build and test jobs:

Projects

Application Domain

Jenkins CI Arm Slaves

Kata-containers

Containerization/Virtualization

Arm01, Arm02

Bigtop

Big Data

Arm01, Arm02

Akraino

Networking Edge Stack

Arm01, Arm02

FD.io/VPP

Networking Data Plane

Arm01, Arm02

AdoptOpenJDK

Java Language Ecosystem

Arm01, Arm02

OpenHPC

Building Blocks for HPC Linux Cluster

Arm Slaves

   Jenkins Master Slave Setup for CI Build Jobs

                                           Figure 1 Jenkins Master Slave Setup for CI Build Jobs

Some of the above projects such as FD.io, AdoptOpenJDK and OpenHPC are part of the WorksOnArm initiative - a Packet-Arm partnership to create awareness and drive adoption of Arm hardware within the data center by providing hardware and software infrastructure including CI/CD tools. A more detailed list of WorksOnArm projects using Jenkins can be viewed on the WorksOnArm Github page.

Jenkins Community support for Arm

We would also like to point out some interesting community work that is happening around multi-arch support for Jenkins:

  • Jenkins Multi-arch Docker images: Today, through use of Docker Hub’s manifest list functionality, developers can get a full Jenkins working environment simply by issuing a ‘docker pull jenkins4eval/jenkins’ command on their respective hardware. Currently, this functionality is offered through the Jenkins Experimental project and the images are pushed to Jenkins4Eval Repo on Docker Hub. This work is very close to become official and can be tracked through Jenkins Docker image for Arm64 issue #686 and combing the build scripts issue #872.

  • LF Edge Akraino Multi-arch support: This PDF download of a case study shows developers how to implement a true multi-architecture Jenkins based parallel CI/CD pipeline for their own projects in few simple steps.

  • Embedded CI with Jenkins: Developing software efficiently for embedded devices can be a challenge. Traditional CI methodologies require more thought to adequately test embedded hardware. The good news is that there is a blog series (Part 1 and Part 2) on how CI for embedded development can be implemented using Jenkins, Docker, and .  The third part in series will come out soon giving a full-featured example of using CI for Arm embedded development in a realistic flow.

Summary

To summarize, there are couple of different ways to run Jenkins on Arm hardware either through regular download and install or through Docker multi-arch images. There are no technical barriers for deploying Jenkins CI on Arm as we have now seen several open source projects today that are confidently running Jenkins CI natively on Arm machines building and testing code for various software frameworks. We expect the multi-arch support for Jenkins to continue to mature as more and more developers adopt different kind of hardware architectures for their next cloud-native projects!

Please continue using Jenkins CI on Arm (Master/Slave) if that's the CI software your project is using today and watch out for the more Jenkins community support updates for Arm architecture as highlighted above.


Anonymous
Tools, Software and IDEs blog
  • Tools, Software and IDEs blog: Delivering Electron 6 for Windows on Arm

    Richard Townsend
    Richard Townsend
    Learn about how Arm engineers delivered Electron 6 for Windows on Arm laptops, helping to bring existing apps to these devices
    • November 25, 2019
  • Tools, Software and IDEs blog: Enabling Cloud-Native Experience Across a Diverse and Secure Edge Ecosystem

    P. Robin
    P. Robin
    Read about enabling cloud-native experience and how we secure this in our ecosystem.
    • November 19, 2019
  • Tools, Software and IDEs blog: Reach for the sky with Helium: Arm Development Studio 2019.b now available

    Ronan Synnott
    Ronan Synnott
    Read about Helium and Arm Development Studio and the new technology which has just emerged.
    • November 12, 2019