Summary: Easy containerized Java VM application analysis using Byteman and Buildah
Description: The purpose of this article is to show how to analyse a Jenkins (Java) application. Without needing to be a Java developer.
The article is targeted for developers or administrators users who primarily are using Fedora on the desktop (but not exclusively Fedora).
The reader may never have coded Java but for some reason need to troubleshoot/inspect a Java application. It is possible the reader may not be inclined to install or set-up these tools for Java. Or to build the Jenkins Java project from source. This article demonstrates an alternative which is to incorporate a tool to modify Java bytecode using a text file (Byteman script).
The context for the article is creating a reproducer for a defect with a plugin the Jenkins CI/CD project.
The article does not aim to deep dive users on either Byteman or Buildah technology. There already exists well written content on Buildah on Fedora Weekly and for Byteman on Red Hat Developer blog. I want to demonstrate the combination of these useful tools. By contributing to an open source project with a suspected issue. Having found an issue the often difficult task is to create a reproducer.
The article comprises of:
- references to Byteman and Buildah for background reading
- setting the context, creating a issue reproducer
- example Byteman script and example commands to bundle Byteman into a container
- prepare the container application
- send a request to invoke the application with Byteman modified bytecode
- compare the outcome results
Do you think this a suitable article for Fedora Magazine ?