Highlight Features

  • Zero ConfigurationGet your A.L.M. up and ready without the need of manual installations.

Launch the entire ALM infrastructure with one command. No need to worry about the deployment of the various applications. Download the Jabox and launch:

java -Xmx1025m -XX:MaxPermSize=128m -jar jabox-standalone-*-jar-with-dependencies.jar

The command above will launch the jabox webapp in the port 9090. Go on and launch a browser pointing to the following url:


By default it will download the following packages and deploy them automatically:

Moreover, it will give you a dashboard in order to control your newly created instances.

The core of Jabox is implementation agnostic. Every integration with external applications is done using plugins. The integration points are the following:

Software Configuration Management

The Software Configuration Management is responsible for the versioning of the source code. The following are supported:

Open Source: Online Services:
Issue Tracking System

The Issue Tracking System is responsible for the management of the issues. The following are supported:

Open Source:
Continuous Integration System

The Continuous Integration System is responsible for the monitoring of changes of the source code and the automatic execution of the compilation/testing/deploying or any other automated process. The following are supported:

Open Source:
Repository Management System

The Repository Management System is responsible for the management and distribution of the binaries of the applications. The following are supported:

Open Source:
Code Quality Management

The Code Quality Management is responsible for the gathering and the visualization of the quality metrics. The following are supported:

Open Source:

In order to get a fast startup of your project, the best way to go is to use predefined project structures as a basis and build your way up from there. In maven these are called maven archetypes.

Jabox is using those archetypes in order to do a fast project kickoff. But simply using the archetypes is not enough to get you started. Initial preparations to get the project in order may include various steps:

  • • Initial Commit to the SCM.
  • • Prepare SCM to ignore target/ directory.
  • • Configure pom.xml SCM.
  • • Configure pom.xml distributionManagement.
  • • Configure pom.xml issueManagement.
  • • Configure pom.xml CiManagement.
  • • Configure pom.xml sourceEncoding.
  • • Configure pom.xml to add exotic features (such as to Sign Artifacts during releases).
  • Activated SecurityApplications are installed with activated security measures in order to avoid security issues.

Security is taken highly into account during the integration of the Software Factory. Whenever possible https is used instead of http by default. Password encryption is to be used instead of plain text format when available. Applications are to activate security measures by default.

  • Online GuidelinesThere is a step-by-step guide in each page in order to help you accomplish your objective.

Jabox provides with the necessary information on each step, just hover over the acompanied question mark of your choice to get help.

  • Validation of dataInput data are always validated before used in order to avoid unpleasant problems.

All data are being validated before used in order to avoid configuration issues at late steps (e.g. release process failing because the SCM configuration is invalid or nonexistent). This way you get a more robust and predictable Software Factory that always work.

  • QA MetricsGet Quality Assurance Metrics from the begginning of the project.

Almost always QA metrics are left to the end of the process as a bonus process. Instead, with Jabox you get QA metrics of your project before you even commit your first line. This way you get a code histogram that shows your progress from the very begginning. Having the QA metrics from the very start, you can prevent the Broken Windows Effect by having fast feedback from the metrics.

  • Portable InstallationAll installation is done under one directory and migration to another server is a breeze.

Jabox is only using the $home/.jabox/ directory. That is ~/.jabox/ in Linux environments, and %USER_HOME%\.jabox\ in Windows. All applications are installed inside subdirectories there. This way Jabox environment can be backed-up easier or even migrated to an other server without any hassle.

Fork me on GitHub