Packaging and deploying with Enterprise Extensions

You can use the deployments and packages components to gather your built artifacts and move them to another location. Packaging and deployment are part of a multistep process that retrieves build output, packages the output, transfers or copies the package to another location, and then deploys it to corresponding containers and runtime environments in test or production systems.

Note: To use the packaging and deployment components, you must have a Developer for IBM® Enterprise Platforms client access license (CAL). You must also have the following permissions:
  • Build: Save build engine, save build definition, request build, save build result
  • Packaging: request packaging
  • Deployment: request deployment
A project administrator can modify these permissions by right-clicking a project area, clicking Open, and then expanding the Team Configuration node from the Process Configuration tab in the Project Area editor.
Important: If you do not have a value for the JAZZ_USER property listed in the script that you use to start the Rational Build Agent on your build system (startbfa.sh), add the JAZZ_USER property to your build definition or build engine. Set the Value field to the value of the JAZZ_USER environment variable that is defined in the script. If you do not add a JAZZ_USER property with build, package, and promotion permissions, the ADMIN ID is used to run promotions and packages by default. The ADMIN ID typically does not have the required permissions, so your promotions and packages fail.

If you want to deploy an application on z/OS® or IBM i, use work item packaging and deployment to select specific work items for deployment. Work items that are used to build your application contain information about which output objects resulted from the change sets associated with those work items. This information is used to package those output objects and then deploy them.

For all platforms, including z/OS, IBM i, Linux®, and UNIX, use ship list file packaging and deployment to specify a list of resources to package in a ship list, and then deploy those resources.

The basic steps for z/OS and IBM i work item packaging and deployment are as follows:
  1. Create a package definition.
  2. Run the package definition (create a package).
  3. Create a deployment definition.
  4. Run the deployment definition (request a deployment).
For all platforms, the basic steps for ship list file packaging and deployment are as follows:
  1. Create a ship list filter file.
  2. Create a package definition.
  3. Run the package definition (create a package).
  4. Create a deployment definition.
  5. Run the deployment definition (request a deployment).

A package definition defines what built objects to package and where to package them.

To view or modify a package definition, from the Team Artifacts view, expand your project area node, then expand Enterprise Extensions > Packages, and double-click your package, or right-click it and select Open Package Definition. The Package Definition editor opens. The package definition includes a Packaging tab with two subtabs: Package and Options.

Restriction: If you try to specify too many outputs in your include and exclude ship lists, your package will fail. To prevent this, use an asterisk (*) to create a generic wild card filter instead of specifying numerous specific objects to include in your ship list; for example, on z/OS, use data set filter: SAMPLE.DEV.BUILD.LOAD member filter: * instead of data set filter: SAMPLE.DEV.BUILD.LOAD member filter: SPECIFIC_NAME. In this example, the data set SAMPLE.DEV.BUILD.LOAD might have 10,000 outputs in it, which is the same as 10,000 entries, instead of one generic entry with the wild card member filter *.
Note:

The archive produced on z/OS uses the PAX/tar file format, even if the package has a .zip extension. You can inspect the content of the produced archive. See Inspecting a package.

Linux and UNIX package and deployment definitions also include Application (package definition only) and Platform fields on the Packaging tab. For details about the various configuration options, see one of the following topics:
On these tabs, you can specify the following information:
Package tab
  • What to package from a ship list, exclude list, or work items (z/OS and IBM i only)
  • A root directory; pre- and post-commands
  • z/OS: ISPF gateway script
  • IBM i: intermediate save library file and save file options
Options tab
  • z/OS: the PDS to package, and where to deploy it
  • IBM i: the libraries to package, and where to deploy them
  • Optional: Delete the package for any deleted package result.
  • Which package artifacts to publish (manifest or package)

A deployment definition defines how packages are loaded and deployed to the target server.

To view or modify a deployment definition, from the Team Artifacts view, expand your project area node, then expand Enterprise Extensions > Deployments, and double-click your deployment definition, or right-click it and select Open Deployment Definition. The Deployment Definition editor opens. The deployment definition includes a Deployment tab with three subtabs: Load, Deploy, and Publish. On these tabs, you can specify the following information:
Load tab
  • The transport mechanism to use: copy or FTP
  • Deployed and original package root directories
  • Pre- and post-commands
  • IBM i: intermediate save file library
Deploy tab
What and how to deploy
Publish tab
Which deployment artifacts to publish:
  • Delta deployment manifest
  • Cumulative deployment manifest
  • Rollback deployment manifest