Project Hierarchy

Hi Octopus Team,

Just have finished trial with this product, I can say that this is a great tools in helping us with our CI plan.
But I have a bit problem with how to setup the correct project hierarchy in Octopus, I will describe my requirement here and see if it is can be achieved using current Octopus design or not.

So I will have 1 project which is our product we called it Product A with DEV-UAT-LIVE environment, and will be deploy for customer after DEV-UAT is completed (e.g: Customer S, Customer A, Customer B) manually trigger by administrator. Because for each release DEV and UAT only need to be checked/completed 1 time by our Tester/Developer. After that we want to deploy to each customer’s LIVE environment. I try to figure it out by using by combining the groupings (Project Groups, Project, Tenant, Environment), but no lucks, I cannot think the good design.

From the current Octopus design, what is the best that you guys can recommend ? So I can get the best data from the Octopus Dashboard.

Sorry if my explanation is not so clear. Hope to hear from you guys soon.

Thanks before

Hi,

Thanks for getting in touch! Currently we have no method of doing this built into Octopus. This functionality would be possible by having an API script in your initial project, which creates scheduled deployment for the project you wish. I can provide you with some links to some of our pre-made API scripts, and our documentation on this. https://octopus.com/docs/api-and-integration/octopus.client

Some of our scripts: https://github.com/OctopusDeploy/OctopusDeploy-Api/tree/master/Octopus.Client/PowerShell

One of our devs suggested that the following may possibly be of interest to you, however its not exactly what you are after. https://octopusdeploy.uservoice.com/forums/170787-general/suggestions/6599104-recurring-scheduled-deployments

This is something we are currently working on, we have a GitHub issue for it which you can follow if you wish. https://github.com/OctopusDeploy/Issues/issues/3633

Unfortunately you options are a bit limited here sorry to say. If you need any help or run into any issues, you are more than welcome to get in touch, I will do my best to get you up and running.

Let me know what you think.

Best regards,
Daniel

Hi,

I’m sorry, I seem to have responded to the wrong person here! You can disregard the information I have provided as it is not at all relevant to your question.

Best regards,

Hi Daniel,

Okay no problem, hope can hear from you guys soon for my case. :smiley:

image001.png

Hi,

I’m sorry for the time it’s taken me to get back to you (Officially). It has been a busy week over at Octopus. Reading through your description for your proposed configuration I think I may need some more information. I have made some assumptions below but they are potentially wrong.

Just to clarify (in this example), you have a single Project, three Environments and three Tenants. Your desired outcome from the deployment is that You only have to deploy this product for a single tenant in DEV-UAT before each Tenant is deployed to LIVE. Is this correct?

If it is, the only method I can see here would be to create a channel. The channel can have a single Lifecycle phase for LIVE, when you want to deploy directly to LIVE you can create a release for this Channel. However, I feel like this is not exactly what you are after, so I’ll potentially need some further information regarding what exactly you need to achieve here.

Do you currently have a working configuration? If so, some further information on this could also aid in my assistance here. :slight_smile:

Looking forward to hearing from you and getting your deployments working how you need.

Best regards,
Daniel

Hi Daniel,

Thanks for the effort for assisting me, currently I have achieved my
configuration by doing multi projects. I’m not sure if this is the best
that I can get from Octopus design. But currently this is working for me so
at the meantime I use this configuration for our CI. I can share it here
just in case if there are others with the same requirement but still
confuse, and also you can give me feedback about this configuration if
there are things that I can improve.

This is our configuration
[image: Inline image 1]

  • Use Project Group as Product Name
  • Use Project for our Customer
  • Use Lifecycle to control environment for _Development is Dev & UAT,
    others is only Live.
  • Use Bamboo to create release for all Project.

image001.png

Hi,

The process you are using looks fine from my end. Nothing here stands out as being wrong or inefficient. It sounds like this is working well for you!
If you have any areas where you think could specifically be improved or are not entirely happy with the way it works, let me know. :slight_smile:

Best regards,
Daniel