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:
...
- jenkinsci/winp
fusesource/jansi
This is not mandatory to have a native version, as it is only used to colorize some output when executing groovy script in jenkins shell. We didn’t reproduce any bug or error message by using it. - fusesourcejansi
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 .