Variables substitution without deploying package

we included Apache Storm in our deployment process and now want to implement following deployment scenario by Octopus:

  1. We have a nuget package containing .config file.
  2. We need to perform variables substitution in this config.
  3. After that we need to prepare a new .zip from this nuget package using ps1 script and then submit this zip file to the Storm Cluster using another ps1 script.

So the questions are:

  1. is there opportunity to perform variables substitution in this config without deploying it.
  2. How to provide correct path to the unpackaged nuget for our ps1 scripts?

Thanks in advance.

The deployment step can be used to achieve what you are after since with minimal additional features selected it effectively just extracts the package to a defined location.
Create a deployment step without any IIS, Windows Service or any other feature that would assume its current location as the final “real” deployment location. Enable just the Substitute Variables In Files feature instead and enter the path to the config in the package.
You will then need to create another script step to package the contents of the previously extracted files.
There is a script template in our library that should help you do just that. Simply reference the output directory in this new step using the step scoped variable Octopus.Action[StepName].Output.Package.InstallationDirectoryPath
Finally you can create another final script step that will send the zip file to your Storm Cluster.
Let me know if need further clarification as to how this might work or if you have any further questions.

Robert, thanks for your reply. I will check this soon.