A lightweight and fast CLI tool to deploy EAR/WAR artifacts to JBoss or Wildfly.
- Fast Build: Automatic project building — supports Gradle and Maven (auto-detects and uses
gradlew/mvnwwrappers). - Smart Deployment: Direct deployment to
standalone/deploymentswith real-time validation polling. - Modern UI: Interactive TUI with semantic logging.
- Persistent Preferences: Remembers your last server, debug port, JVM memory profile, and startup mode between sessions.
- Configurable Debug: Choose your JVM debug port dynamically.
- Dynamic JVM Memory: Assign pre-configured JVM memory capacities independently for each server.
- Seamless Workflow: Automatic server startup after deployment and persistent loop-based interface to keep you in the flow.
- Node.js v20+
- Gradle or Maven (or project wrappers
gradlew/mvnw) - JBoss/Wildfly configured locally
Run the tool instantly using npx:
npx jbdeploynpm install -g jbdeployIf you want to contribute or build the latest version from source:
- Clone the repository and install dependencies:
npm install- Build and enable global linking:
npm run build
npm linkNow you can use jbdeploy from any terminal.
- Run in watch mode during development:
npm run dev- Core: Built with TypeScript for Node.js 20+.
- Distribution: Compiles with
tsupinto a single, specialized ESM bundle (dist/index.js) with a Node.js shebang, ensuring seamless usage in any Node environment.
Run the CLI from any project you want to deploy:
jbdeploy- Server Selection: Choose a saved server or add a new one.
- Action: Choose between
Build, copy & start,Copy & start, orStart server(when the server is already running, deploy variants are shown). - Build (if applicable): Gradle or Maven is auto-detected.
- Server Mode: If the server is stopped, choose Normal or Debug mode. Your last choice is remembered.
- Auto-Start: After a successful deployment with the server stopped, the CLI starts it automatically.
All preferences, registered JBoss servers, JVM memory profiles, and debug ports are saved locally at:
~/.jbdeploy/config.jsonjbdeploy --helpMIT