Skip to content

Development

Requirements

  • Java 21
  • Maven
  • Python 3.11+ for docs

Build from source

JAVA_HOME=/opt/homebrew/opt/openjdk@21 mvn package -DskipTests

The plugin artifact is:

target/jeballto-jenkins-plugin.hpi

Test

JAVA_HOME=/opt/homebrew/opt/openjdk@21 mvn test

Docs workflow

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements-docs.txt
python -m mkdocs serve

Build static HTML:

python -m mkdocs build

Important files

src/main/java/io/jenkins/plugins/jeballto/JeballtoCloud.java
src/main/java/io/jenkins/plugins/jeballto/JeballtoAgentTemplate.java
src/main/java/io/jenkins/plugins/jeballto/JeballtoLauncher.java
src/main/java/io/jenkins/plugins/jeballto/OrphanedVmCleanup.java
src/main/java/io/jenkins/plugins/jeballto/provisioning/VmProvisioner.java
src/main/resources/io/jenkins/plugins/jeballto/JeballtoCloud/config.jelly
src/main/resources/io/jenkins/plugins/jeballto/JeballtoAgentTemplate/config.jelly

Review label routing, semaphore lifecycle, provisioning adoption, orphan cleanup, and Jelly form changes carefully.