Releasing a version of your bundle
To release an initial version
The following image shows the process to release the initial version of an application:
To export a bundle
Make sure that your definitions are up to date and run the following command to export your bundle:
To stop the development of bundle version 1.0
Branch or label the sources that you are using in Source Control. Make sure that you do not modify definitions for version 1.0. Run the following command to remove the bundle from your BMC Helix Innovation Studio development instance:
To change a bundle to a released version
(Optional) If you have created or upgraded your application using BMC Helix Innovation Studio SDK release 17.08 or earlier, edit the /package/pom.xml file and make the following changes in the <execution> tag:
<build>
<plugins>
<plugin>
.
.
<executions>
<execution>
<id>update-def-file</id>
<phase>generate-sources</phase>
<goals>
<goal>update-def-file</goal>
</goals>
</execution>
<execution>
<id>add-manifest</id>
<phase>generate-resources</phase>
<goals>
<goal>add-manifest</goal>
</goals>
</execution>
.
.
.
</executions>
</plugin>Run the following command to update your POM files:
projects\my-proj> mvn versions:set -DnewVersion=1.0.0The system displays a success message. The following snippet is a sample message:
[INFO] Updating project com.myco:my-proj
[INFO] from version 1.0-SNAPSHOT to 1.0.0
expression: rx-sdk.groupId no value
expression: rx-sdk.groupId no value
expression: rx-sdk.groupId no value
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] my-proj-all ....................................... SUCCESS [ 54.270 s]
[INFO] My Project ........................................ SKIPPED
[INFO] my-proj-package ................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
The version gets created in the following format:
<major version>.<minor version>.<incremental version>-<qualifier>
For example, 17.11.0, 17.11.0-SNAPSHOT, 1.0-SNAPSHOT, 1.0.0.RELEASE.
To compile a deployment package
Make sure that all the sources, and the renamed definition files, are correctly packaged together in the deployment zip file and run the following command:
The compiled deployment package is present at projects\my-proj\package\target\com.myco.my-proj-1.0.zip. The com.myco.my-proj-1.0.zip file contains the following files:
- db
- record
- <record-definition-name1>.def
- <record-definition-name2>.def
- <record-definition-name3>.def
- <record-definition-name3>.options
- <record-definition-name3>.data
- <record-definition-name3>.delete
- process
- <process-definition-name1>.def
- <process-definition-name2>.def
- rule
- <rule-definition-name>.def
- association
- view
- <view-definition-name>.def
- named-list
- <named-list-definition-name1>.def
- <named-list-definition-name2>.def
- localized-string
- <localized-strings.def>
- configuration.data
- role.data
- record
- code <jar file>
- manifest file
To complete the release process
Make the package projects\my-proj\package\target\com.myco.mypackage.my-proj-1.0.zip available to administrators. The package is then made available to QA for black-box or integration testing, or pre-production shared system.
Guidelines for creating a new version of an application
When you upgrade your application to a new version, make sure that the modifications made to the new version of your application do not affect the functionalities of the existing application version. The following table lists the guidelines to create a new version of an application:
Guideline | Description |
---|---|
You want to add new functionality that is implemented by using new definitions. | To create new functionality for your application, create the following new definitions and new code modules:
|
Your application code changes must be backward compatible. | View components
Java-based services
|
Your existing noncustomizable definitions changes must be backward compatible. | Record definitions
View definitions
Process definitions
Rule definitions
|
Do not modify the existing definitions and data that can be customized at all times. | Named list definitions
Association definitions, Roles, Configuration settings Do not modify or delete the existing association definitions, roles, or configuration settings. Bundle data Before you delete bundle data, make sure that the bundle data is independent of the customizable definitions. |
To release a new version
Run the following command to update your POM files:
projects\my-proj> mvn versions:set -DnewVersion=1.1.0-SNAPSHOTThe new version is created in the following format:
<major version>.<minor version>.<incremental version>-<qualifier>
For example: 17.11.0, 17.11.0-SNAPSHOT, 1.0-SNAPSHOT, 1.0.0.RELEASE.
Run the following command to deploy the new version:
projects\my-proj> mvn clean install -Pdeploy
By default, you can only have two versions of an application on a system. If you deploy a third version, the system generates the following error message:
9164: Maximum number of allowed versions exceeded.
BMC SaaS Operations must undeploy the oldest version.