Page tree

This topic explains the general procedure you might use to define and configure the building blocks for your release process, including the environments that support your release life cycle, applications supporting the release deployment, and finally, the routes and policies that enable you to coordinate the release workflow.

This topic includes the following sections and use cases:

Before you begin

  • Plan your release life cycle. Consider the following stages:
    • Development
    • Quality assurance (QA)
    • User acceptance testing
    • Deployment to production
  • Plan the environment needed for successful release deployment, including hardware, software, and network components.
  • Ensure the integration of all external systems that you are planning to use such as a build server, bug tracking system, test management system, and so on.
  • Based on your release life cycle model, create plan templates for your continuous integration, deployment, and release plan.
  • Plan roles for your project team members. For example:
    • Release manager—Schedules, coordinates, and manages releases, including application updates, patches, and security improvements.
    • Environment manager—Manages processes for an application within a specific environment, including strategies for moving the application to another environment.
    • Test engineer—Uses requests to test whether the product meets applicable specifications.
  • Plan your product support and updating, including the continuous building, deploying, and updating of software and environments.

High-level steps for managing configuration of applications, topology, and infrastructure

  1. Develop the release plan template with the necessary stages that match your release life cycle. For example, you might have the following stages: development > performance testing > regression testing > pre-release testing > user acceptance > deployment to production.
  2. Create the infrastructure for every release stage. You might have several servers for front end, back end, database, and others. Add every server that you plan to use with your application to BMC Release Process Management, using the procedure described in Use case 1: Add a hardware or virtual server involved in the release process.
  3. Create software components that are necessary for release delivery and for application operation in the target environment, using the procedure described in Use case 3: Create components of the release.
  4. Create the environments to support your release life cycle. You might need a separate environment for development, quality assurance, user acceptance testing, and production.

    In BMC Release Process Management, an environment contains all the infrastructure elements required to deploy an application on a particular stage of the release life cycle.

    Your typical environment might contain several physical or virtual servers, hosted applications that are necessary for the successful deployment and operation of the released software (for example, web servers, application servers, database servers, and legacy applications), specific configuration settings for these servers and hosted applications, and finally, the network infrastructure that enables connectivity between the servers and hosted applications (for example, firewalls, SAN Storage, or network switches). 

    You can assign an opened or closed deployment policy to your environments. With an opened deployment policy, you can access the environment at any time, except during the time frame of the associated prevent deployment windows. With a closed deployment policy, you can access the environment only during the time frame of the associated allow deployment window. For more information about managing the access to your environments with deployment windows, see Managing deployment windows.
  5. Create the application and select the servers on which you want to deploy the application.
  6. Create deployment windows for the application environments.

    A deployment window is a calendar event that allows or prevents the deployment of an application to a particular environment based on the environment deployment policy. You can create single deployment window events or a series of deployment windows.
  7. Create packages to manage binary files for applications, using the procedure described in Use case 7: Create packages, properties and references, and map packages to an application.

Use case 1: Add hardware servers or virtual servers for the release process

Create all the servers necessary for your release process on all phases.

To create a server

  1. Click Environment > Servers.
  2. On the Active Servers page, click Create Server on the right.
  3. Enter the following information for the server:

    1. Name: Enter a unique name for the server.
    2. NEW IN 5.0.03.003 Description: Enter an optional description for the server.
      You can enter a maximum of 255 characters.
    3. DNS/URL: Enter the DNS or URL for accessing the server.
    4. IP address: Enter the IP address of the server.
    5. OS Type: Select the operating system on which the server runs.
    6. Agent Type: If the server uses an agent NSH or SSH for connection, select the appropriate agent type.
  4. In the Server Groups field, select the server groups that you want to associate with the server. 
    NEW IN 5.0.03 To add server groups associated with this server, click Add Server Group.
    1. In the Select Server Groups dialog box, select the server from the left pane and click  to move the selected server to the right pane. 
      (Optional) Use the search field to search and select the server groups that match your requirement and move to the right pane. You can also search for server groups in the selected server groups list.
      (Optional) Click  to move all servers to the right pane.  

    2. Click Select Server Groups.
      The selected number of servers are displayed.
  5. In the Environments field, select the environments that you want to associate with the server.
    NEW IN 5.0.03 To add environment associated with this server, click Add Environment.
    1. In the Select Environment dialog box, select the environment from the left pane and click  to move the selected environment to the right pane. 
      (Optional) Use the search field to search and select the environments that match your requirement and move to the right pane. You can also search for environments in the selected environments list.
      (Optional) Click  to move all environments to the right pane.  

    2. Click Select Environments.
      The selected number of environments are displayed.
  6. Click Create.
    The new server is displayed in the list of active servers.

For more information, see Managing servers.

Use case 2: Create environments for release deployment

Create environments that you are planning to use during your product release life cycle.

To create a new environment

  1. Go to Environment > Environments, and click Add a new environment on the right.
  2. Enter a name for the new environment.
  3. In the Environment type list, select the environment type.

  4. In the Deployment policy list, select the deployment policy for the environment:
    1. To create an environment with opened deployment policy, select Opened.

    2. To create an environment with closed deployment policy, select Closed.

  5. Add servers and server groups that you want to associate with your environment.
  6. Click Create.

Note

Alternatively, you can add environments by going to Dashboard > My Applications and clicking the application name to which you want to add a new environment. Click the add/remove environments link, and then click the create new environment link. However, in this case, you cannot assign environment types to the environments.

For more information, see Managing environments.

Use case 3: Create components of the release 

  1. Create all the components necessary for your release process on all phases.

    MultiExcerpt named newComponent was not found -- Please check the page name and MultiExcerpt name used in the MultiExcerpt-Include macro

    For more information, see  Managing components.

  2. Create and then assign properties to the components.

    For more information, see Create properties configuration.

  3. Map components to external objects.

    To map a component to an external object

    1. On the Applications tab, click an application in the list.
    2. In the list of Components, click Map next to the component that you want to map with an external object. 
    3. On the Map Component to an External Object dialog box, provide the following details:
      1. Select an integration server from the Select Target Server list.
        This list displays integration servers that you created previously to integrate between various external systems. You must select the integration server that you created to integrate with the external system to which you want to connect when performing this mapping.
      2. Select a resource automation script from the list of available scripts.
        This list is available only after you select an integration server. You must select the resource automation script that you created previously for the purpose of mapping. For more information on creating a resource automation script, see Creating data retriever scripts.

        Notes

        • The resource automation script that you select must have its Maps to option set to Component.
        • You can use one integration server at a time to create a single mapping with an external object.


        While selecting the integration server and the resource automation script, you might see multiple objects that are generated automatically. The objects that you see and the output in which you see them (whether a tree or list of objects) depends on the resource automation script that you selected. The resource automation script retrieves data about the external objects and provides it to you so that you can select one of them for mapping with a component.

    4. Click Save Mapping to save your changes.
    5. To modify or delete the mapping that you already created, perform the following steps:
      1. Click Edit Map next to the component under the Actions column.
      2. On the Map Component to an External Object dialog box in the Select Target Server list, select the integration server for which you want to make changes or delete the mapping, and select the same resource automation script that you used to create the mapping.
        The current mapping is displayed.
      3. Modify your mapping and click Save Mapping.
      4. To delete the mapping, click Delete Mapping and then click OK.

    For more information about mapping components with component templates of BMC Application Automation, see Mapping components with component templates.

    For more information, see Managing components.

Note

If an application depends on components in a separate application, the components in the other application are referred to as remote components. For example, the database component for an application named TravelTime might be supplied by a separate application named Oracle. In this case, the TravelTime application refers to the remote component in the Oracle application.

Use case 4: Create properties configuration

  1. Create a property and assign components or servers to the property.

    To create a property

    1. Go to Environment>Properties.
    2. On the right pane, click Create Property.
    3. In the Name box, enter the name for the property.

      Note

      Properties that have special characters in their names do not work with automation scripts.

    4. In the Default value box, enter a list of the property values separated by a comma.
      • You can enter numbers as the property values.
      • If you want to leave the field blank, enter a comma.
    5. (Optional) To hide the property value, select the Private check box. To view private values of the properties, you need a granted permission.
    6. To assign a property to a component, next to Component Assignment, click Add Components.
    7. From the Components box, select the required components, and use the option to move them to the selected area and then click Select Components.
    8. To assign a property to a package, next to Package Assignment, click Add Packages.
    9. From the dialog box, select the required packages, move them to the selected area and then click Select Packages.
    10. To assign a property to a server or server level, next to Server Assignment, click Add Servers or Add Server Levels.
    11. From the dialog box, select the required servers or server levels move them to the selected area and then click Select Servers or Select Server Levels.
    12. If you want to allow modification of the property value during work task creation and execution, next to the Property Entry Assignment, click Add Work Tasks.
    13. From the dialog box, select the required work tasks for creation or execution and then click Select Work Tasks.
    14. Click Create.

    For more information, see Managing properties.

  2. Allow modification of property value during the work task creation or request execution.

    To allow modification of property values

    Perform the following steps if a property does not change with an environment or component, but you want to allow modification of the property value during work task creation and execution.

    1. Go to Environment > Properties.
    2. Open the required property or create a new one.
    3. Next to Property Entry Assignment, click show.
    4. In the Work Tasks for Creation list, select the tasks where the property value can be modified during the request creation.
    5. In the Work Tasks for Execution list, select the tasks where the property value can be modified during the request execution.
    6. To save your changes, click Update or Create.

Use case 5: Create an application for the release

  1. Create an application for the release.

    To create an application

    1. Go to the Applications tab and, on the right side of your screen, click Create Application.
    2. In the Name field, enter the name for your application.
    3. (Optional) In the App version field, enter the version number of your application.
    4. (Optional) To use the application only in requests that are part of a release plan, select the Strict plan control check box.
    5. In the Team list, select a team that will be associated with the application. By default, an application is associated with the default team.
    6. Click Create.

    For more information about applications, see Managing applications.

  2. Add the environments that the application will go through during the release process.

    To create a new environment

    1. Go to Environment > Environments, and click Add a new environment on the right.
    2. Enter a name for the new environment.
    3. In the Environment type list, select the environment type.

    4. In the Deployment policy list, select the deployment policy for the environment:
      1. To create an environment with opened deployment policy, select Opened.

      2. To create an environment with closed deployment policy, select Closed.

    5. Add servers and server groups that you want to associate with your environment.
    6. Click Create.

    Note

    Alternatively, you can add environments by going to Dashboard > My Applications and clicking the application name to which you want to add a new environment. Click the add/remove environments link, and then click the create new environment link. However, in this case, you cannot assign environment types to the environments.

    For more information about environments, see Managing environments.

  3. Add components.

    MultiExcerpt named newComponent was not found -- Please check the page name and MultiExcerpt name used in the MultiExcerpt-Include macro

    For more information about components, see Managing components.

  4. Associate components with the environments.

    To associate components with environments

    1. From Dashboard > My Applications or from the Applications tab, click the relevant application name.
    2. To copy all component associations from one environment to any number of target environments, perform the following steps:
      1. Click the source environment to expand it and display its list of associated components.
      2. Click Clone Environment Components under the list of components.
      3. Select the target environments (to which to copy component associations), and then click Save.
    3. To associate individual components with a single environment, perform the following steps:
      1. Click the target environment to expand it and display its list of associated components.
      2. Drag each component that you want to associate from the components list on the right, and drop it on the list of environment components on the left.
    4. To remove a component from the list of components associated with an environment (in the environment's expanded display), click the Remove installed component icon in the right-most column, and then click OK.

    For more information, see Associating components with environments.

Note

An application might have a three-tier architecture, in which case a component could be an application server, a database, and a load balancer.

Use case 6: Create environment routes, promotion policies, and deployment windows 

  1. Create routes to determine the order in which environments are accessed by the application.

    To create a route

    1. Open the Applications tab.
    2. Click Create Application to create a new application, or click the name of the existing application for which you want to create a route.
    3. Open the Routes tab.

      Note

      The default route is created automatically. It contains environments that are associated with the application. You can view the default route by clicking either Edit or the default route name.

    4. To create a new route, click Create Route.
    5. Enter the route name and description, and then click Create.
    6. From the Available Environments table, select the environments for which you want to assign to the route, and then click Add Selected.

      Notes

      • Based on the environment type, environments are automatically assigned to the appropriate route via the route gates. For more information, see Managing environment types. You can rearrange the route gates by dragging the environmnents and dropping them in the desired order.
      • If in the Available Environments table there are no environments to select, return to the application details page under Applications > Apps, and click the add/remove environments link to add the environments to your application.

    For more information, see Managing routes.

  2. Create a plan template to structure the release plan of your software.

    1. Go to Environment > Metadata > Manage Plan Templates.
    2. Click Create Plan Template.
    3. In the Name box, enter the name of your template.
    4. In the Template type list, select the template type, and then click Create.
    5. To add stages to the plan template, in the Stages section, click Add stage.
    6. In the Creating Plan Stage dialog box, in the Name box, enter a stage name. For example, DEV.
      1. In the Environment type list, select the appropriate environment type. For example, Development.
        RPM uses environment types to map environments to the plan stages. 
      2. To make the stage impossible to skip during the release lifecycle, select the Required check box.
      3. To limit modification of the requests in the stage, select Protected access.

        Note

        After you create a stage with Protected access, grant the Modify Protected Requests permission to the users who will be able to modify requests created in the stage with Protected access. Users who do not have such permission can clone protected requests, add notes in the request or its steps, change step Work Tasks, Runtime Phases, and Priority.

      4. In the Default Request Template list, select a template for a request that will be automatically created in the stage when you create a plan or release. To add multiple templates, press and hold Ctrl.

        Note

        The Default Request Template list displays only the Released request templates.

      5. Click Create.
    7. Add as many stages as needed.
    8. (Optional) To make the plan template available, change its status to Pending or Released.
      For more information about the plan template states, see Using status of objects.

    For more information, see Managing plans.

  3. Add stages (Development, QA, Staging, Production and so on) to the plan template.

    After creating a plan template, you must add stages.

    1. Go to Environment > Metadata > Manage Plan Templates, and then click a plan for which you want to add a stage.
    2. In the Stages section, click Add stage.
    3. In the Creating Plan Stage dialog box, in the Name box, enter a stage name. For example, DEV.
      1. In the Environment type list, select the appropriate environment type. For example, Development.
        RPM uses environment types to map environments to the plan stages. 
      2. To make the stage impossible to skip during the release lifecycle, select the Required check box.
      3. To limit modification of the requests in the stage, select Protected access.

        Note

        After you create a stage with Protected access, grant the Modify Protected Requests permission to the users who will be able to modify requests created in the stage with Protected access. Users who do not have such permission can only add notes in a request or its steps.

      4. In the Default Request Template list, select a template for a request that will be automatically created in the stage when you create a plan or release. To add multiple templates, press and hold Ctrl.

        Note

        The Default Request Template list displays only the Released request templates.

      5. Click Create.
    4. Add as many stages as needed.

    For more information, see Managing plans.

  4. Create a plan to organize the software release process.

    1. Go to the Plans tab, and then, on the right side, click Create Plan.
    2. In the Plan Template list, select the required template.
    3. In the Plan Name box, enter a name of the release plan.
    4. In the Release Manager list, select the appropriate RPM user.
    5. In the Teams list, select the required check boxes to assign the appropriate teams to the plan.
    6. In the Release tag list, select the appropriate release tag for the plan.
    7. In the Release Date box, select a release date.

      Note

      If you click Edit Plan Details after you have created the plan, the release tag and the release date that you select appear as defaults. They also appear as defaults when you want to add a request to the plan.

    8. In the Release Description box, enter details about the release if any.
    9. Click Create.
      The newly created plan details are displayed.

    For more information, see Managing plans.

  5. Add routes to a plan.

    1. Go to the Plans tab, and then click the plan to which you want to assign a route.
    2. Click the Routes tab, and then, on the right side, click Assign App Route.
    3. In the App list, select the appropriate application.
    4. In the Route list, select a route, and then click Add.
      The Routes tab opens with the plan stages mapped to the application route environments.

      Note

      Route gate constraints validate the compliance of the request environments to the plan stage route gates. Route gates are mapped to the plan stages according to the environment types of the route gate environments. You can change the default (automatic) route gate assignment to plan stages. For more information about route gates, see Managing routes.

    Warning

    After adding a route to a plan, you cannot reopen the completed request if the environment of the request does not match the environment specified in a route.

    For more information, see Managing plans.

  6. Create a plan run to assemble requests from different applications and different environments in an executable flow.

    To create a plan run

    1. Click the Plans tab.
    2. From the list of plans, click a plan to open it.
    3. Select the stage containing the requests for which you need to create the run.

    4. Click Create Run.
    5. Enter the appropriate information in the fields.

      Note

      Only the Name and Owner fields are required. The rest of the fields are optional. 

    6. (Optional) Select the Auto promote check box to enable the run to promote automatically to the next plan stage after successful completion of all the requests in the run. Otherwise, you can promote the run manually.

    7. Click Create.
    8. After you create the run, you can perform the following tasks (the buttons are associated with each stage):
      • Reorder run (Click the Reorder run tab and then drag and drop the requests.)
      • Plan run
      • Cancel run
      • Hold a run
      • Delete a run
      • Add and remove a request from a run
      • System can automatically put run in problem or complete status based on child request status

        Note

        When all the requests go into the Complete state, the run is finished.

    For more information, see Managing plan runs.

  7. Create deployment windows or deployment windows series to manage access to the environments.

Use case 7: Create packages, properties and references, and map packages to an application

  1. Create a package to manage binary files for applications.

     

    To create a package

    1. Go to Environments > Packages.
    2. Click Add a new package.
    3. In Name, enter a name for the package.
    4. Click Create to create the package.
      The Edit Package page opens.
    5. In Instance name format, enter the mask for names of instances related to this package (for example, 0.0..0[#]).
    6. In Next instance number, enter the value to be used in a mask for the next package instance name (for example, 1).
    7. In the Properties section, add properties to the package.
    8. In the References section, add references to the package.
    9. Click Update to save your settings.

    For more information, see Managing packages.

  2. Add existing properties to the package or create new properties for the package.

     

    To add properties to a package

    1. Go to Environments > Packages.
    2. From the list of packages, click the appropriate package.
      The Edit Package page opens.
    3. To add existing properties to the package, perform the following actions:
      1. In the Properties section, click Map/Unmap Properties
        The Select properties dialog box opens
      2. From the left property list, move properties that you want to add to the package to the right property list.
      3. Click Select Properties to save your changes.
    4. To add a new property to the package, perform the following actions:
      1.  In the Properties section, click Add Property.
        The Create New Property dialog box opens.
      2. Enter the necessary property data as described in Managing properties.
      3. Click Create to save your changes.
    5. Click Update to save changes to the package.

    For more information, see Managing packages.

  3. Add references to the package.

    To add references to a package

    1. Go to Environments > Packages.
    2. From the list of packages, click the appropriate package.
    3. In the References section, click Add Reference.
    4. Specify the following details for the reference:
      • In the Name field, enter the name for the reference.
      • In the Method field, ensure that the File access method to a package is selected.
      • From the Server list, select the appropriate server for a reference.
      • In the Uri field, enter the server URL address for the reference.

         

        Note

        The Uniform resource identifier (Uri) is a string of characters used to identify a name of a resource. The Uri is metadata and can be in any format, but the most common format is a URL. Depending on the packaging tool that you are using, you can add whatever you need. Properties should be in the format of the packaging tool. For example, for BladeLogic Server Automation, you can use ??PROP??. For BMC Release Package and Deployment, you can use ${prop}.

    5. Click Create Reference to save your changes.

    For more information, see Managing packages.

  4. Assign packages to an application.

    To assign packages to an application

    1. Click the Applications tab.
    2. From the list of applications, click edit for the required application.
    3. Click the Packages tab on the right.
    4. Click Add/Remove Packages.
      The Select Packages dialog box opens.
    5. For each package that you want to assign to the application, move the package from the list on the left to the list on the right.
    6. Click Select Packages to save your package selection.

    For more information, see Managing packages.

 

  • No labels