Rebuilding target machine with complex non-Octopus projects?


I have a scenario where we need to re-create our target servers on new hardware, updated Windows, updated SQL. There is a set of complex legacy software that must be manually installed, and then a number of Octopus based projects are deployed. Renaming the machine post-setup is a problem too with the legacy software.

I am thinking along the lines of setting up a temporary private network, with a clone of our Octopus server in the network with the new machines. Then I can force a re-deploy of the latest releases.

On the other hand, a new machine with a newly installed Tentacle is a new entity in Octopus (thumbprint…), regardless of machine name, no? Perhaps it is better to just add the new machines into my one Octopus by IP address?

Has anyone had to work thru a similar scenario and would care to contribute ideas?



Thanks for getting in touch! You have hinted on the recommended solution here. When you recreate the server, treat it as a new machine in Octopus. Octopus doesn’t really care about machines so much - we use the DeploymentJournal to know what was deployed to it for retention policies.
I potentially wouldn’t copy over any existing releases but let triggers in Octopus redeploy what should be on the machine. Or without triggers script a redeploy or manually deploy your Octopus projects.

Using the ‘cattle not pets’ analogy would be the best way to think about this. It is a new machine, take care of your legacy software first, and Octopus can do the rest.

Please let me know if I can expand on anything or if you have any issues.

Thanks Vanessa,

I think we probably have it covered. Thanks!