Release Automation

  • 1.  Importing component to replace existing component

    Posted Jun 22, 2016 04:32 PM

    I am running an experiment and finding myself unable to accomplish my goal: export from a development instance of CA RA and import into the production instance.   While the import works, rather than replacing the existing component, it creates another date/time stamped version of the component. 

     

    This is less than desirable, as I had hoped to be able to use the development instance to manage changes to flows and processes, then export them from dev into prod when they were working. This avoids the occasional mishap when I publish a change that breaks a deployment.

     

    Is there a way to accomplish this?  If not, are there other ways to make changes to flows and test them without impacting the teams that need to continue to use CA RA?



  • 2.  Re: Importing component to replace existing component

    Posted Jun 23, 2016 01:00 AM

    Did you try using the export process tag option?

    If you running latest RA version and prod application created by import of Dev application you can use the import process tag option.

    This way you design and test your process in Dev system and once it ready you import to prod for execution on your production systems.

    Hope this help

    Jacky



  • 3.  Re: Importing component to replace existing component

    Posted Jun 23, 2016 12:58 PM

    Hmmm... I am not getting this to work correctly.  For example, to test the process out:

    - In DEV:

        - I created a new app, with a component, action and process

        - publish the process

        - Export the app

    - in PROD:

        - import the app - all is good at this point. 

        - Publish app.

    - Back in DEV:

       - Add another action to component

       - Create a flow

       - Change process to use new flow

       - Publish process

       - Export the Latest tag

    - In PROD:

       - Import the process tag from above

     

     

    Import was successful, but in Process Design, the component does not show the new action, nor does the process contain the changes.  If I export/import the component to get the new action/process, it creates a new instance of the component, rather than updating the existing component.  Is there something I am not doing or doing incorrectly?  Or is the idea that once a component is in production, you maintain it in production going forward?



  • 4.  Re: Importing component to replace existing component

    Posted Jun 23, 2016 01:42 PM

    When you export process tag from dev and import to production you should she the process in production system but it will not import the components as well , the idea is to allow you running in production the processes you design and test in Dev while using the specific production system settings (agents / environment parameters /permissions etc..)



  • 5.  Re: Importing component to replace existing component

    Posted Jun 24, 2016 10:01 AM

    Jacky, wrt to your last comment, I don't understand the usefulness of being able to import a process into Production CARA if components or flows that it depends on are not also imported along with it. It seems like a basic dependency management problem.

     

    More importantly, to tdallmann's original question, if there really is no way of updating shared (or regular) component in the Production CARA via import, this presents a huge problem for my organization. The implication seems to be that when changes are made to a shared or regular component in a Dev CARA, then exported and imported into Production CARA, all of the processes that use the updated component need to be edited in Production to replace each flow that points to the old component...

     

    Or... The component would not be exported by itself. Instead the entire Application(s) would be exported from Dev and imported into Prod as a new Application version, and then run new deployments from the newly imported Application(s). The problem with that is that you have to go re-enter environment parameter values for *all* Environments in the Application, and re-assign *all* agents to the appropriate server types in the all Environments.

     

    Neither option is a good one. Both involve a lot of work post-import. At least the second option provides a way of versioning an entire Application. Can processes be written to copy Environment parameter values and Agent assignments from 1 Application to another? If we could run such processes post-import, that might go a long way to making complete Application export/import a viable solution... for me anyway.



  • 6.  Re: Importing component to replace existing component

    Posted Jun 26, 2016 01:47 AM

    Hi

    The import/export process intend to allow you design/test processes in one system (e.g Dev) and when its ready,  import and execute it in other systems (e.g pre-prod/prod) , the idea is to avoid modifying processes in "Prod" environments

    The ability to share components data between different systems can be done using import/export shared components.

    Please see example below

    I have two systems (Dev and Prod)

    In Dev I created jboss shared component and have two revisions

    I import the jboss shared component  to Prod system and create new revision in Prod system (1.50)

     

    In Dev system I create new revision (1.6) and create new export

    When I import to Prod system the revisions of jboss shared components merge

     

    Now in production I can use the imported revision and the local ones for designing my processes.

     

    Please let me know if this answer your questions

    Thanks

    Jacky



  • 7.  Re: Importing component to replace existing component

    Posted Jun 26, 2016 07:56 PM

    Hello tdallmann and others

    There are multiple use cases discussed here.

    If I understand your original comment, you have two CARA instances (DEV & PROD).

    Use Case # 1:

    1. You designed on DEV CARA instance.
    2. Exported from DEV CARA instance.
    3. Imported into PROD CARA instance. Everything is fine.
    4. You further changed DEV CARA instance for the second time.
    5. Exported from DEV and imported to PROD CARA instance.It created another RA application with same name and with timestamp. This is working as designed.

    Now Use Case # 2:

    1. When second time DEV CARA instance changed within the same component.
    2. Exporting from DEV CARA and import to PROD CARA, you have to merge the components with existing application and component as you import them. This way there won't be new application with same name and with timestamp created.
    3. But there is a catch. This use case is not completely supported for various reason. This is where shared component was introduced. If you want to merge components you have to use Shared Component feature.
    4. With that said, sometimes merge components works but that depends on how those new parameter, actions, flows are unique.
    5. My suggestion is to use Shared Components.

    There is one more Use Case # 3.

    1. When second time DEV CARA instance changed make sure that you create new parameter component, actions, flows, etc.,\
    2. Export from DEV CARA instance
    3. Import into PROD CARA without published process but selecting only the new components.
    4. In this case, you are not merging with exiting components but importing new components. This works.

     

    Note: Bottom line, Export and import with merge option is not supported. You are using at your own risk.