Deploying only modified packages

I’ve done several searches and have found a couple topics that are close, but have been unable to quite figure this out.

We have a complex projects that entails the installation of 11 different potential packages. Generally only one main package is modified, but I want to be able to automate the deployment process under a single comprehensive package without requiring the user to make a determination of what packages to include or not include. All steps are Nuget installs, even though several are just powershell scripts to perform server configuration steps. We did this because in version 1 of the product doing them as a NuGet package with a single file (deploy.ps1) in it allowed for the behavior we were looking for.

As the deployment proceeds if one of the deployment steps has already been completed I want it to skip that step on that server. This also helps us with the scenario of bringing a new server online because we can just redeploy the previously installed release and the existing servers will be unmodified while the new servers gets everything installed. I hope I’m making sense here.

I did find the “Package Re-deployment” option in the settings and set this to “Skip packages that are already installed”. I also found reference to a variable “Octopus.Action.Package.SkipRedeployment” and have set that on the project (and subsequently created a new release) with a value of “True” as well. With those set and the “Force deployment of packages that are already installed” not checked on my deployment I kind of expected this to work properly, but am apparently missing something.

TLDR: How do I prevent a previously installed NuGet package from reinstalling in Octopus 2.3.3.1369?

Hi, thanks for the question and sorry for not responding sooner.

Setting the “Skip packages that are already installed” option should be enough. When you deploy, Tentacle will determine that the package has already been installed, and so will skip the deployment.

You shouldn’t need to set Octopus.Action.Package.SkipRedeployment.

Could you follow these steps to send me a copy of your deployment log?

You can send it to me via email at paul at octopusdeploy.com

Paul