Need advice on release debugging workflow

We try to make our first real production deployment working and the process is rather painful, so I wonder if we do anything wrong and there is a better workflow.

We have ZIP packages produced by TeamCity and pushed to Octopus repository. Also TeamCity (using Octopus plugin) produces a Release which bundles together all the packages and also adds release notes. Now we can go to Octopus UI, find that release in Releases tab for Project and click Deploy to. So far so good. Then deployment fails because some variable in Octopus was not set right. We go make the variable right and… what now? We have to generate new Release, otherwise that variable change would not be pick up. So we click Create Release button and now we have to start everything from scratch - select the right version for each package we want to deploy plus add release notes again. This is a pain. Manually selecting versions for 15 packages is a pain! We don’t see the way to amend existing Release.

I understand Octopus principle that Release is immutable and each change requires new release. It is debatable, but we can take it as a requirement. But why Release must be created from scratch every time? Why can’t we make the changes and deploy again? Let Octopus increment Release number and consider it a new release, whatever.
When deployment fails we see if we are lucky or not - if the fix is in the environment, we can fix it and click “Try again” to have the same Release redeployed, BUT if the change is required somewhere in Octopus we are unlucky, because we have a ton of manual work to do now.

Please let me know if we can do better than that.
Konstantin

Hi Konstantin,

Thanks for getting in touch! There is a feature that will let you manually force a new snapshot to be taken without creating a new release. We have a mention of this in our documentation on debugging Octopus variables.

See under Check the Variable Snapshot for the Release
http://docs.octopus.com/display/OD/Debug+problems+with+Octopus+variables

Doing so is not advised unless absolutely needed however, this should only be used when really needed as it has the potential to break your current release if you remove/break a variable that the project may be dependent on.

Let me know if that helps.

Best regards,
Daniel

Understood. Thank you!

Wonder if there is anything like that if instead of variable values we need to bring deployment steps in the release up to the currently configured (latest) state?

Hi Konstantine,

No worries! The only feature we have that can update a snapshot outside of creating a release is the update variable feature. So your only option here would be to create a new release.

Hope that answers your question.

Best regards,
Daniel