Maintainability of Octopus Projects

(mark.kharitonov) #1


I think we are doing something terribly wrong with our Octopus projects. I describe our situation here -

Would you be able to comment and/or answer?

Thank you.

(Shannon Lewis) #2

Hi Mark,

Thanks for getting in touch. 50 projects certainly does sound unmanageable, and is certainly not we’d normally expect. The right answer for your scenario will depend somewhat on your needs.

The typical pattern with Octopus is to have a build server with a single build project/pipeline and Octopus with a single project. The build server produces a set of binaries, in the form of a package, and pushes it to Octopus. Octopus is then configured to understand Environments and the Lifecycle you want to use for promoting the binaries through these environments (e.g. Dev => UAT => Staging => Production). Octopus allows you to define variables scoped to each of these environments and does variable substitution into your config files etc during deployment to an environment.

In this scenario the handling of the variables is “backloaded” in the pipeline, rather than “frontloaded” as what I understood from your description.

Could you verify whether Environment here holds the same meaning as what you consider an environment? For some customers, who host multiple versions of their software for different customers of theirs (tenants in our terminology), they sometimes create a completely separate environment per tenant. This is workable but a little more complex to set up.

I won’t try to dig into too much more detail here yet, if I can understand more about your setup then I can provide the right details about the right things.


(mark.kharitonov) #3


Thank you for such a prompt response.

When I am talking about environments I mean our environments. I hope you show me how it maps to Octopus.

Our code naturally divides into three pieces:

(Shannon Lewis) #4

Hi Mark,

It looks like your reply got cut off there. Would you be able to try sending again?


(mark.kharitonov) #5

Actually, it was sent by accident.

I am still in the process of replying to you.

I want my reply to provide all the information correctly.

Takes some time.

Thank you for your patience.

(Shannon Lewis) #6

Sure, no problems.

(mark.kharitonov) #7


Still working on the response - takes time with other obligations, but I am getting there.

Thank you.

(mark.kharitonov) #8


I have prepared a document where I describe the highlights of the current implementation and lay out thoughts on how to improve it. It would be of tremendous help if you could review it and provide answers to the open questions at the end.

The attached archive contains an html page with all the files.

Your help is greatly appreciated.

Thank you. (1.37 MB)