So I have a product that comprises of many micro-services each built independently. I have many implementations of this project and as we go forward the deployment process is always evolving. This brings up a few issues.
How do I sync the build steps between multiple projects?
How can I use a source control system to keep track of these changes over time so I can always roll pack or at least look at what happened in the past?
Thanks for getting in touch! I would need to learn a bit more about your overall architecture before I can suggest possible solutions. Feel free to mark the conversation as private if you don’t want to share your answers with a wider audiance.
- How many micro-services do you have now?
- How many micro-services do you plan to have in the future?
- How do you host your micro-services?
- Are your micro-services deployed independently from each other?
- Are your micro-services versioned independently from each other?
- Does the code of your micro-services live in the same or seperate repositories?
- How similar are the deployment proceesses of your micro-services (e.g. always the same, share some steps)?
- Is there a specific reason why you want to track changes to deployment processes (e.g. audting, backup).
I don’t need help with my application but how to use Octopus.
I have 20+ projects that are all just CLONES of each other in Octopus. Basically the variables allow me to Deploy multiple instances of the same application with different configurations for each customer.
So I have to sometime update my Octopus Project Process Steps. When I do that I have to update them on all 20+ projects. I need a way automatically clone the process steps to all the other projects. How would I do that?
Secondly, Over time I’m developing project process steps and I need to roll back to before I started editing. It would be nice to have a way to check in the project configuration to a source control system so I could roll back.
Thank you for your response. I believe I understand now what the problem is. At the moment Octopus doesn’t have a feature that would support your scenario. But the good news is that we are getting close to releasing Multitenancy which should solve your problem. You can have a look at the design document for Multitenancy (https://octopus.com/blog/rfc-multitenancy-take-two) and even try a very early implmentation of it (https://octopus.com/blog/octopus-deploy-3.4-eap).
Unfortunately Ocotpus doesn’t integrate with any source control system but I can think of two possible workarounds:
- Use the Export and Import Wizard. The data is exported as bunch of JSON files which then can be commited to a source control (http://docs.octopusdeploy.com/display/OD/Data+migration).
- Use Octopus REST API to retrive deployment process as a JSON file (http://docs.octopusdeploy.com/display/OD/Octopus+REST+API).
Please let me know if this doesn’t solve your problem.