I have a set of recipes that deploy python apps to AWS instances, they work well. I want to deploy two different apps with slight differences, like one needs async worker code installed and the other does not. How should I do this?
My options as, I see them:
- Create two Apps in OpsWorks and set env vars for each that the recipes can use to decide whether/how to run certain tasks
- Create file(s) in the repo detailing app-specific requirements
- Add custom JSON th each deployment.
None of these options seems ideal to me, have I overlooked something? Has
Options 1 and 3 are "effectively" (I say that loosely) the same. You're basically passing differences through JSON. I personally have used and been successful with creating two different Applications in OpsWorks but I was also very keen on the ability of a junior resource being able to modify some elements but not have access to passwords or other sensitive attributes. Direct answer, option 2 makes me twitch the most. Option 1/3 are better but depend on your needs.