Channels - limit to only 1-2 steps for particular channel

Hi!

We have the following deployment structure:
Multiple ~10 steps for Azure WebApps deployment that represent the current state of system’s services

And we have 2 use cases the latter one I’m struggling with:
0. Currently all steps do not have any Channel applied - means they’re applied for all channels

  1. We would like to create new web app -> we create new channel “New App 1” and deploy all of those:
    In CI server when we deploy we provide Channel name (“New App 1)” as param for Deployment - and it’ll deploy All current web apps + new one.
    When we deploy to other channel (e.g “New Web App 2” with Web App 2) -> we want the same -> deploy all current ones + new #2 one.

So we have number of “core” apps that should be applied to all channels for this case
2. Another use case:
I’d like to quickly promote UI Web App only (because all other web services stayed the same) for quick testing -> in this case I’d like only “UI App” (in Channel “UI Channel)” to be deployed.
But! As I understand - my “core” web apps that does not have particular Channel -> will still be deployed in this case.

How I could support both use cases?
Should I go one-by-one Deployment step and set Channels (“New Web App 2”, “New Web App 1” for example above) in addition to DEfault channel - so that when I use “UI Channel” -> It’ll deploy onew UI app?
If this is the case - it’s just tons of work every time.

Did I miss something?

Thanks!

Hi Alex,

Thanks for getting in touch! We had quite a debate about this ticket this morning on our support run through call. While we probably have a solution for you, we aren’t in agreement about why or how you are really using channels at the moment.
Could you explain the process a bit more about why you create a new channel when a new web app is added?
We would also like to understand timing, how often you have new web apps to add to the process, create channels etc.

Sorry I don’t have an answer for you but we all couldn’t decide on a single interpretation of the problem.
Vanessa

Hi, Vanessa!

Sorry for confusing your team :wink:

A little bit more details:

  1. we have new app or two usually once in 3-4weeks as our platform is growing.
  2. we create new channel because we have ~10 dev envs and we do parallel development in feature branches, thus we’d like to have flexibility to deploy new version either with new web app or not on each dev env through CI TeamCity - we just configure branch and channel to deploy to.
    Afaik - there is no other way except channels to support this. Previously we limit new web app steps to our envs - but it’s pretty inconvenient - as we need to change Octopus settings each time we want to deploy to this env another branch w/o new app.
    As well as chennals are great with introducing new settings limited to that - we also don’t want to change settings per env manually each time.
    Though we use library variable sets - it’s not always working as we need to tune params per channel/feature sometimes - during refactoring and renamings.

Get Outlook for iOShttps://aka.ms/o0ukef


Hi, Octopus team!

Any followups on the above?

Hi Alex,

I am sorry you had to follow up, it was in my Queue and I’ve been training someone and totally forgot to unassign it to get this looked at and considered. I can’t think of a way to do this outside of some serious scoping to channels for each step. Forcing an exclusion. With so many channels this would be a lot of work each time you need to add one.

Once a step has channel scopes it only deploys to those channels. So if all other core app steps are scoped to all relevant channels, and not to the UI one it would work as you expect.

Being it is only once every few weeks it may be your only solution using channels for this very specific scenario.

Let me know what you think. And again sorry I let this fall of my radar.
Vanessa

Hi, Vanessa!

Is it possible to add an enhancement -> for Channels have an ability to force deploying only listed steps within that channel (when I add steps to particular Channel definition with versions).

For now I see that it’s better to skip deploying only UI part separately and deploy all steps instead as usual… +15mins each deployment though.

Alexander

image001.png

Hi Alex,

Is it possible to add an enhancement -> for Channels have an ability to force deploying only listed steps within that channel (when I add steps to particular Channel definition with versions).

Well like Vanessa said, that’s pretty much what channels are all about. If you start a deployment for a channel, It’ll only run the steps defined for that channel.

Its either that or manually skipping steps from the UI.

Thanks,
Dalmiro

Notice:

This issue has been closed due to inactivity. If you encounter the same or a similar issue and require help, please open a new discussion (if we asked for logs or extra details in this thread, consider including them in the new thread). If you are the creator of this thread and believe it should not be closed let us know via our support email.