SnapLogic Best Practices: Deploying Projects Between Phases
[update – check out what’s new in our Spring 2016 release – the Metadata Snaps are also useful for Lifecycle Management requirements]
One of the areas our integrated data services team and partners spend time with customers early in a SnapLogic Elastic Integration Platform deployment is on deploying from one project phase to the other (Dev -> QA -> Prod). There are a number of different configuration options. In this post, I’ll describe one. First a few assumptions:
- The enterprise Lifecycle Management feature is not implemented in this example
- The phases that are in use are Development, QA and Production
- Each phase in use is being managed at a project level as a separate project with in a single Organization Setup
- The users have the necessary permissions to perform the operations described in this post
- The enhanced account encryption feature is not in use in the current SnapLogic Org
Steps for deployment:
Export the project you would like to promote the next phase of the cycle by following the below steps:
- Go to Manager
- Select the project you would like to promote and click “Export”
- This will export all the assets in the project except “Accounts” (for information on Accounts, check out our documentation site) into a zip file and will be downloaded to your local computer
- Click on the down arrow located next to “Projects
- Click on “Import”
- Select the downloaded zip file from the file browser and click “OK”
- This should create a new project with an increment number
- Rename the project with the appropriate Phase name in the name of the project
A few important notes about Tasks:
- If you have tasks on your project, verify that the names of the Snaplexes for execution match the names of the Snaplexes on the Org where the project has been imported from
- Although the Org names on the Triggered Task URLs doesn’t change, the name of the Project in the Task URL changes. Make sure to use this new URL for the appropriate tests in the respective phases
- If using a different Snaplex for each phase separated by projects, you would need to modify the Task to use the appropriate Snaplex by editing the Task by clicking on the name on the Task.
A few important things to remember about Accounts:
- Since the Accounts are neither exported nor imported as part of the project, create the appropriate Accounts in the new project
- Although you are moving from Project to Project within the same org, Accounts can neither be duplicated nor copied
- All Account names should match the names in the previous phase to avoid having to update the accounts on the pipelines
And finally, when it comes to Files, note that all the appropriate Files will also be imported from previous phase to the current phase. If any of the files are environment specific, make sure they are updated with the information for the corresponding environment.
Another configuration option is to set up separate SnapLogic Organizations. One reminder as you think about your Dev -> QA -> Prod lifecycle is always version your pipelines using the versioning feature and the include appropriate notes and tags for each version.
I hope you find this kind of information useful. We’ll be posting more SnapLogic deployment best practices on the blog in the coming weeks. Be sure to check out Nidhi’s series on Ultra Pipelines best practices and let us know what other topics you’d like covered.