Working with packages


A  package  contains URIs, properties, and configuration data that help define how the application is constructed and deployed. To deploy a package, you create an instance that represents a version of this content, with its referenced URI content retrieved and stored in the database. For more information about packages, see Packages
You can perform the following actions with packages:

To create a package

  1. On the Define tab, from the left menu, click Packages.
  2. Click New Package.
  3. Enter an appropriate name for the new package.
  4. From the Instance Lock Default list, select an instance lock value (Locked or Unlocked).
    By default, the instance is unlocked. If the instance is locked, you cannot edit its references, properties, and existing configurations.
  5. Click the  Roles  field and from the Manage Roles dialog box, select the roles allowed to access the package. If you select a specific role, then only users with this specific role are allowed to see the package. 
    The default role for accessing the package is Unassigned.
  6. Click Create.
    The new package summary appears with sections for adding references and analyzers, package properties, and configuration data. You have the following options:
    • Continue to configure the package by making the needed changes, such as adding references or properties as described in the following sections.
    • Click Deploy to create a deployable version of the package.
    • Click New Instance to create an instance of the package.

To add references to a package

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package to which you want to add a reference.
  3. On the References tab, click Add Reference.
  4. Enter an appropriate name for the reference.
  5. Select the method for retrieving the content.

    Click here to learn more about methods for retrieving the content.

    When you add a reference to a package, you can select one of the methods for accessing the content. Method refers to extracting the content (for example, files or folders) from the location where they are stored. 
    Depending on the location where the content files are stored, or the version control tool you use for accessing the latest version of the file, the following methods are available:

    • Action: You specify an action to get content. 
    • New in 5.0.03 Artifactory: The file is located on the JFrog Artifactory server.
    • Cc Dynamic: The file is located in the IBM ClearCase dynamic view.
    • Cc Static: The file is located in the IBM ClearCase static view.
    • File: The file is located in a file system. You provide a path to the location of the file.
    • Git: The file is located in the Git revision control system.
    • Hg: The file is located in the Mercurial revision control tool.
    • Http: The file is pulled via Hypertext Transfer Protocol (HTTP).
    • Nexus: The file is located in the Sonatype Nexus repository management system.
    • Null: The reference with the null method selected is a reference with no physical content. 
      Use this method if you need to do some operation during a deployment, but you do not want to do it as part of a file deployment. For more information, see Understanding-null-references.
    • Perforce: The file is located in the Perforce version control software.
    • Svn: The file is located in the Apache Subversion revision control system.
    • Teamcity: The file is located in the TeamCity build server.
    • Tfs: The file is located in the Team Foundation Server (TFS) source code management solution.http://en.wikipedia.org/wiki/Revision_control
    • Tfs WiChangeSetsThe file is located in the Team Foundation Server (TFS) source code management solution with changesets.
    • Tfs WIVersioneditItemThe file is located in the Team Foundation Server (TFS) source code management solution with version edit items.
    • Vss: The file is located in the Windows SharePoint Services (WSS) system.
    • Winshare: The file is located in the WinShare manager.
    • Zip: The file is archived in a Zip file format.
  6. (Optional) Make other selections as required. Fields depend on the method that you selected in the preceding step.
    If you want content from your references not to be pulled into your local database during instance creation, add remote references to the package. See Remote-reference. Otherwise, specify the server and the location of the file on that server in the appropriate fields, and keep the default false value in the Remote reference field.

    Note

    Enter the location of the files on server in the following format:
    file:///Server name/Home/phurnace/bmc/Filename

  7. Click Create.
  8. Continue to define the reference by adding filters or analyzers.
  9. Click Configuration to specify configuration or template details.
    On the Configuration window, you can click Definition to return to this package definition.

To add remote references to a package 

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package to which you want to add a reference.
  3. On the References tab, click Add Reference.
  4. Enter an appropriate name for the reference.
  5. Select the method for retrieving the content.

    Click here to learn more about methods for retrieving the content.

    When you add a reference to a package, you can select one of the methods for accessing the content. Method refers to extracting the content (for example, files or folders) from the location where they are stored. 
    Depending on the location where the content files are stored, or the version control tool you use for accessing the latest version of the file, the following methods are available:

    • Action: You specify an action to get content. 
    • New in 5.0.03 Artifactory: The file is located in the JFrog Artifactory server.
    • Cc Dynamic: The file is located in the IBM ClearCase dynamic view.
    • Cc Static: The file is located in the IBM ClearCase static view.
    • File: The file is located in a file system. You provide a path to the location of the file.
    • Git: The file is located in the Git revision control system.
    • Hg: The file is located in the Mercurial revision control tool.
    • Http: The file is pulled via Hypertext Transfer Protocol (HTTP).
    • Nexus: The file is located in the Sonatype Nexus repository management system.
    • Null: The reference with the null method selected is a reference with no physical content. 
      Use this method if you need to do some operation during a deployment, but you do not want to do it as part of a file deployment. For more information, see Understanding-null-references.
    • Perforce: The file is located in the Perforce version control software.
    • Svn: The file is located in the Apache Subversion revision control system.
    • Teamcity: The file is located in the TeamCity build server.
    • Tfs: The file is located in the Team Foundation Server (TFS) source code management solution.http://en.wikipedia.org/wiki/Revision_control
    • Tfs WiChangeSetsThe file is located in the Team Foundation Server (TFS) source code management solution with changesets.
    • Tfs WIVersioneditItemThe file is located in the Team Foundation Server (TFS) source code management solution with version edit items.
    • Vss: The file is located in the Windows SharePoint Services (WSS) system.
    • Winshare: The file is located in the WinShare manager.
    • Zip: The file is archived in a Zip file format.

    Note

    If you select Null from the Method field, you cannot add a reference to a remote server.

  6. Select true from the Remote reference field. For more information, see Remote-reference.
  7. In the Location field, specify the location of the content on a remote server. Provide the path to the remote server in the following format: 
    file:///<server>/<path>

    Note

    Ensure that you enter the path to the reference in the platform-specific format, for example:

    • Windows: file:///localhost/C:/tmp/example.txt
    • Linux: file:///localhost//tmp/example.txt
      Note:
      There is an additional slash at the beginning of path.

    The Server field is dimmed, since you already specified it in the Location field.

  8. Click Create.

    Note

    You cannot use analyzers with remote references.

To add a dependency between two references in a package

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package to which you want to add a dependency.
  3. Locate the reference that depends on other references being deployed before it, and click the Add New Dependency link.
  4. From the selection list, select the reference that must be deployed prior to this reference.
  5. Click Add.
    BMC Release Package and Deployment (RPD) checks that no circular dependencies occur.
  6. Continue to add dependencies for the reference as needed.
  7. When done, you can click one of the buttons Deploy or New Instance.

To add a dependency between two pieces of content in a repository

  1. On the Define tab, from the left menu, click Repositories.
  2. Click the name of the repository to which you want to add a dependency.
  3. Locate the content that depends on other content being deployed before it, and click the corresponding link in the Dependencies column (it says None if the content has no existing dependencies; otherwise, it lists the dependencies).
  4. Select the content that must be deployed before this content.
  5. Click Submit.
    RPD checks that no circular dependencies occur.
  6. Continue to add dependencies for the content as needed.

To add pathname filters to a reference

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package and then click the reference to which you want to add the pathname filter.
  3. In the Pathname Filters tab, click Add Filter.
  4. From the Flag list, select the appropriate flag:
    • Accept: Retrieves files of specified pattern for deployment.
    • Reject: Skips files of specified pattern for deployment.
  5. Add the appropriate Pattern of the file path that has to be accepted or rejected.
    For example, specify %txt% to retrieve only text files from the specified location.
  6. Click and drag ReOrderIcon.pngto move pathname filters to the order that you want.
  7. Click PathFilterTick.png to save the pathname filter.

You can specify multiple pathname filters for the package as per your requirement.


To add an analyzer to an existing package

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package to which you want to add an analyzer.
  3. In the References section, click the name of a reference that is associated with an existing URI.
  4. In the Analyzers section, click Add Analyzer.
  5. From the Type list box, select an appropriate analyzer, and click Submit.
    RPD creates a new analyzer and associates it with the resource reference.

To add properties to a package

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package to which you want to add a property.
  3. On the Properties tab, click Add Property.
  4. Enter a name for the new property.
  5. Enter a value for the new property.
  6. To encrypt the property, click the Encrypt Value icon.
  7. Click the Submit checkmark icon.

 

Note

To enable proxy mode to establish the extra layer of security of connections between the dispatcher server and Remote System Call Daemon (RSCD) targets, define the appropriate properties in each environment. See Setting-up-NSH-properties.

To set the format for package instance naming

You can specify the versioning pattern when creating a package.

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package.
  3. Edit the value in the Instance Name Format field.
    (click the image to expand it)
    package instance naming.png
  4. Click the Submit icon.

Note

You can make RPD change the ID of the deployed instance automatically every time the instance is deployed. To do so, add the following script line to either the existing action or the newly created action:

echo [VL_SET_PROPERTY][label]name=instance ID

For the Instance ID enter a unique name. Otherwise, the instance ID is not changed and the deployment log  says "t hat name already exists for the current package".

The following table describes the interpreted values that you can use for the instance name format.

Format

Description

Example

[#]

The next incremental value

123

%a

An abbreviated textual representation of the day

Sun

%A

A full textual representation of the day

Sunday

%d

Two-digit day of the month (with leading zeros)

08

%e

Day of the month, with a space preceding single digits. Not implemented as described on Windows. See below for more information.

8

%j

Day of the year, three digits with leading zeros

001 to 366

%u

ISO-8601 numeric representation of the day of the week

1 (Monday), 7 (Sunday)

%w

Numeric representation of the day of the week

0 (Sunday), 6 (Saturday)

%U

Week number of the given year, starting with the first Sunday as the first week

13 (for the 13th full week of the year)

%V

ISO-8601:1988 week number of the given year, starting with the first week of the year with at least four week days, with Monday being the start of the week

01 through 53 (where 53 accounts for an overlapping week)

%W

A numeric representation of the week of the year, starting with the first Monday as the first week

46 (for the 46th week of the year beginning with a Monday)

%b

Abbreviated month name, based on the locale

Jan

%B

Full month name, based on the locale

January

%m

Two-digit representation of the month

01 (January), 12 (December)

%C

Two-digit representation of the century (year divided by 100, truncated to an integer)

19 for the 20th Century

%g

Two-digit representation of the year going by ISO-8601:1988 standards (see %V)

09 for the week of January 6, 2009

%G

The full four-digit version of %g

2008 for the week of January 3, 2009

%y

Two-digit representation of the year

09 for 2009, 79 for 1979

%Y

Four-digit representation for the year

2038

%H

Two-digit representation of the hour in 24-hour format

00, 23

%I

Two-digit representation of the hour in 12-hour format

01, 12

%l (lowercase 'L')

Hour in 12-hour format, with a space preceding single digits

1, 12

%M

Two-digit representation of the minute

00 through 59

%p

Uppercase AM or PM based on the given time

AM for 00:31, PM for 22:23

%P

Lowercase am or pm based on the given time

am for 00:31, pm for 22:23

%r

Same as "%I:%M:%S %p"

09:34:17 PM

%R

Same as "%H:%M"

00:35

%S

Two-digit representation of the second

00, 59

%T

Same as "%H:%M:%S"

21:34:17

%X

Preferred time representation based on locale, without the date

03:59:16

%z

Either the time zone offset from UTC or the abbreviation (depends on operating system)

-0500 or EST for Eastern Time

%Z

The time zone offset/abbreviation option NOT given by %z (depends on operating system)

-0500 or EST for Eastern Time

%c

Preferred date and time stamp based on local

Tue Feb 5 00:45:10 2009

%D

Same as "%m/%d/%y"

02/05/09

%F

Same as "%Y-%m-%d" (commonly used in database date stamps)

2009-02-05

%s

UNIX Epoch Time time stamp (same as the time() function)

305815200 for September 10, 1979 08:40:00 AM

%x

Preferred date representation based on locale, without the time

02/05/09

%%

A literal percentage character ("%")

---

To set the next increment version number for the auto-incrementing value

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package.
  3. Enter the value in the Next Instance Number field.
  4. Click the Submit icon.

To modify configuration data for a reference

  1. On the Define tab, from the left menu, click Packages.
  2. Click the name of the package.
  3. In the References tab, click the reference that you want to edit.
  4. Click Configuration.
  5. In the Configuration tab, click Edit.
  6. Edit the configuration data.
  7. Click Save.

To enable role-based access permissions for a package

  1. On the Define tab, from the left menu, click Packages.
  2. On the List tab, find the necessary package and click it to view the details.
  3. In the Roles field, click the link.
  4. In the Manage Roles dialog box, add the access permissions for the necessary roles using the following actions:
    • To add access permission for one or more roles, select the necessary roles on the left, and click Add Item(s)
    • To add access permission for all roles, click Add All Items
    • To disable permissions for some roles, select them on the right and click Remove Item(s)
    • To disable permissions for all roles, click Remove All Items
  5. Click Save.

 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*