Suppose I have a large number of developers and techs that all use a single Octopus server. The techs need to install to multiple client environments, and the developers need to install to individual machines and a few dev environments.
My question is how best to organize this? There’s a couple issues I’m running into:
-
If each developer should have admin rights to anything related to their own machine, but ONLY to their own machine, do I have to have a team for EACH developer, with that team consisting of only one person? Is there a better way to assign roles to individual users?
-
Should I create a separate project for each environment? They all use the same packages and code, but I don’t want to have a million variables in one project. Plus, since I want each person to have admin rights on the project, can I limit their ability to edit variables scoped to other environments? If I have separate projects, and I change something in a project, I’d then have to change it for every one.
2 is my main concern. If a deployment requires 10 variables, and I have 20 developers, then I would need to have that project use 200 variables in it. And I don’t know that I could even stop them from changing variables for other developer’s environments. But I also don’t want to have a project for each environment, as that defeats the purpose of Octopus being able to re-use projects. Any thoughts?