Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

https://github.com/jenkinsci/jenkins

Jenkins is a widely used an open - sourceautomation and CI system - server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration, and continuous delivery.

Status

...

Jenkins .war can be downloaded directly from https://www.jenkins.io/

Status

...

Jenkins Agents are pure java program and works out of the box on windows on arm machine.

download/.
This version has two native libraries (x86, x64) for windows, that are missing aarch64 version:

...

Native Code

Inside a jenkins .war, we can find .jar. By unzipping all this, we can identify those dlls:

Code Block
./com/sun/jna/win32-aarch64/jnidispatch.dll
./com/sun/jna/win32-x86/jnidispatch.dll
./com/sun/jna/win32-x86-64/jnidispatch.dll
./META-INF/native/windows64/jansi.dll
./META-INF/native/windows32/jansi.dll
./winp.dll
./winp.x64.dll
  • winp
    This jenkins library was written to control Windows processes better, beyond what's available in JDK. As mentioned in their README, aarch64 is not supported, and won’t be supported as long as they don’t have hardware for this. Happily, jenkins running on aarch64 still work without it, simply with an error message:

    Code Block
      java.lang.UnsatisfiedLinkError: C:\Users\user\.jenkins\war\WEB-INF\lib\winp.x64.BFFE30B3B50581290B1866EF8D48C609.dll: Can't load AMD 64-bit .dll on a ARM 64-bit platform

Build

It’s possible to build jenkins on windows-arm64 by following official build instructions:
https://github.com/jenkinsci/jenkins/blob/master/CONTRIBUTING.md#building-and-debugging

In more, we wrote a reproducible package for this: https://gitlab.com/Linaro/windowsonarm/packages/jenkins .