I have seen a few posts regarding staging or caching packages in advanced of the install, but none of the post seem like a viable solution.
My use case might be a little different, but it can’t be unique.
Lets say my build and Octo server live in AWS while I have the need to deploy to two different physical data centers (in different geographical locations) which each contain around 10 servers.
I would like to have the ability to transfer the packages to a central location inside of the data center or even to one of the targets agents and then distributed to the remaining servers from there. So the idea is to pre-stage and get the packages transferred into the data center where the fast LAN speeds can be used to distribute to the servers.
Maybe the data transfer of the packages already operates in this manner? If so then great, I would only then need the prestage option.
Thanks in advance
Hi Jason,
Thanks for getting in touch! While there is no feature currently in Octopus which lets you do this, we do have an idea of a work around. On top of that, I can provide you with a link to a GitHub issue where we discuss a feature that will let you do just this. However, the enhancement is a while away from being implemented, so the workaround will have to suffice until then.
See GitHub issue: https://github.com/OctopusDeploy/Specs/issues/14
For the workaround, its not perfect but it should let you do this. The idea is the create an external feed inside each of the data centers, from here you could tell each package step in Octopus to point to the external feeds you created instead of using a built in feed. However, as we have nothing designed around handling this in Octopus, you will need to push the packages from your build server manually onto the external feeds. Octopus is not able to have multiple feed locations for the same package.
You can create a project variable for each of the feeds and use a binding expression when defining your feed in the package step. This will let each Tentacle pull the package from the feed, and the feed could be dynamically selected based on a scope.
I have attached a screenshot of this. However, when doing so I noticed that you need to select an external feed before using the custom expression or the Each Tentacle will download the package directly from the remote server
option will not appear. I’ll log this to get fixed.
If you have any further questions here or run into any issues, let me know.
Hope that helps!
Best regards,
Daniel
Thank you for your detailed response - We will definitely look into this.
Hi Jason,
Thanks for getting back! Sounds good, feel free to let me know if you have any questions at all or run into issues with this.
Best regards,
Daniel