x
login Signup

Import a project and preserve existing jobs

I have a dev and a prod Flow server. I want to make modifications to a project/application in the dev server and then migrate those changes over to the prod server. Exporting and importing the entire project wipes out any job information I have in prod and using the DSL is proving to be temperamental.
What is the established best practice for doing this kind of migration?

The best I've been able to do is export an application through dsl, go into the prod environment and delete all the tiers and master components out from under the existing application and then import the DSL. This updates the application definition and preserves the job info - but is there a better way? I also had to delete the tier mapping and snapshot info from the dsl prior to import....

avatar image By david 131 asked Sep 07, 2017 at 07:47 PM
more ▼
(comments are locked)
10|750 characters needed characters left

1 answer: sort voted first

There is more than one way to solve this problem, including what you describe.

I made the transition from relying on the GUI to relying on DSL instead. This means my projects are checked in as source code. While I sometimes start in the GUI, my finaly solution is always in DSL.

Once the solution is managed as code, the porting problem is partially solved - run the DSL script on the production server as needed once you verify it works on your dev server.

You are correct to note objects are not deleted, but instead overwritten. The undesired side-effects are that if your change your model and remove something in a new definition, the object will persist. If instead you are replacing objects, they will be re-defined. As I develop my DSL model, I find I start with coarse delete operations (project), and then substitute finer deletes (component definition) as necessary. This means that in a steady-state operation, I'm mostly replacing and not deleting objects. The shift from coarse- to fine-grained delete is an iterative process for me.

I have wrapped my DSL with some cleanup steps. While it may not be practical to delete the project, maybe it is practical to delete items by name:

ectool deleteProject "myProject" - may be too ambitions

ectool deleteApplication --projectName "Example" --applicationName "Single Application 1 Comp" ectool deletePipeline --projectName "myProjectName" --pipelineName "the name of your pipeline"

Deleting an Environment deletes mappings into it, so that may help part of your problem about the mappings.

avatar image By marcoman 2.2k answered Sep 07, 2017 at 08:08 PM
more ▼
(comments are locked)
10|750 characters needed characters left
Your answer
toggle preview:

Up to 8 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.