Channels Promotion

I created a Channel named ‘Full Deploy’ which is assigned to a Database restore step in my Project. Idea being that in later deploys I would use a channel named ‘Code Channel’ that skips the Database step thus preserving data on the DEV environment.

However when I want to promote to the next environment, the latest release is likely to be a ‘Code Channel’ type. But in the next environment I need the Database restore step for the initial deploy to create the databases. So how can I use the latest release from DEV environment without having to redeploy the DEV via the ‘Full Deploy’ channel 9which would wipe my DEV databases to a virgin state?

Wil I just have to deploy my latest direct to the next environment rather than promoting or is there a smarter way?

Hope that makes sense!


Thanks for reaching out! That’s a really tricky question. Channels can help in this scenario to better control when your database restore step is executed however, you are restricted in how you promote through environments. You select a channel when creating a release and it can’t be promoted to any Environments outside of the channel. One thing you could do is to skip the database restore step when promoting but this is risky as you could accidentally reset your database if you forgot to toggle the setting. The screenshots below illustrate how to do this.

I think a better option would be to split the database restore into its own project as this will give you full control over when it’s executed (this solution doesn’t use channels). If you added the Chain Deployment step template from our community library, you could trigger your code project deployment after executing the database restore. Alternately, you could deploy them independently as needed. The screenshots below illustrate this as well.

That being said, please let me know if I’m not fully understanding your question, or have further questions!

I hope that helps!


Think i’ll split into separate projects