27.4. The Workflow for Creating and Deploying a Bundle

  1. Identify what files belong in the archive, such as an application server, an individual web application, configuration files for drift management, or other things.
  2. Determine how the location where the bundle will be deployed will be handled. Existing files and directories can be overwritten or preserved, depending on the definitions in the recipe. This is covered in Section 27.1.3, “File Handling During Provisioning” and Section, “WARNING: The Managed (Target) Directory and Overwriting or Saving Files”.
  3. Identify what information will be deployment-specific, such as whether the deployed content will require a port number, hostname, or other setting. Some of these values can use tokens in the configuration file and the provisioning process can interactively prompt for the specific value at deployment time.
  4. Create the content which will be deployed.
  5. Create an Ant recipe, named deploy.xml. The recipe defines what content and configuration files are part of the bundle and how that content should be deployed on the bundle destination. Pre- and post-install targets are supported, so there can be additional processing on the local system to configure or start services as required.
  6. After the bundle content, configuration file, and recipe are created, compress all of those files into a bundle archive. This must have the deploy.xml recipe file in the top level of the directory and then the other files in the distribution, relative to that deploy.xml file. This is illustrated in Section 27.1.1, “Bundles: Content and Recipes”.


    JBoss ON allows JAR and ZIP formats for the bundle archive.
  7. Optionally, verify that the bundle is correctly formatted by running the bundle deployer tool. This is covered in Section 27.6, “Testing Bundle Packages”.
  8. Create the groups of resources to which to deploy the bundle.
  9. Upload the bundle to the JBoss ON server, as described in Section 27.7.2, “Uploading Bundles to JBoss ON”.
  10. Deploy the bundle to the target groups, as described in Section 27.7.3, “Deploying Bundles to a Resource”.