PreDeploy.ps1 found but not executing

Good afternoon,

I have a deployment that is working fine on several machines, Test and Production. When this deployment is ran in our Staging environment, PreDeploy is found by Octopus but refuses to execute with no errors. Is there a way to add some additional logging to find out what might be going on? Again, this script fires off just fine in all other environments/machines except on this particular machine.

2013-08-29 20:50:09 DEBUG [PreDeploy Script] Script: C:\Octopus\Applications\StageChandler\QueueServiceManager\2013.08.29.1_3\PreDeploy.ps1
2013-08-29 20:50:10 DEBUG [PreDeploy Script] Script: C:\Octopus\Applications\StageChandler\QueueServiceManager\2013.08.29.1_3_PublishedApplications\QueueServiceManager\PreDeploy.ps1

<Should be executing here!!!>

2013-08-29 20:50:10 INFO [XML Transformation] Looking for any configuration transformation files
2013-08-29 20:50:10 INFO [XML Configuration] Looking for appSettings and connectionStrings in any .config files
2013-08-29 20:50:10 DEBUG [XML Configuration] Scanning configuration file: C:\Octopus\Applications\StageChandler\QueueServiceManager\2013.08.29.1_3\App.config

Thanks,

JAson Birklid

More information:

If I remove this particular machine from the Staging environment and add it to the Production environment, then perform the deployment. The Predeploy script executes??? So this is not a machine issue it has something to do with my Staging environment. I can’t find any settings that would prevent this from running and there is nothing unique about the Staging environment (other deployments work fine). I Created a duplicate deployment from scratch just to rule that out and I get the same result. Help!

Thanks,

Jason

Hi Jason,

Is your script invoking an executable? It’s possible that the executable is writing errors to std-err (rather than std-out) which PowerShell doesn’t log by default. You can capture the std-err output like this:

 exe_that_writes_to_stderr.exe bogus_arg 2> /temp/err.msg

Hope that helps

Paul

Hi,

I’ll be out of the office until Monday September 16th. Please direct all questions regarding build/CM to DL-WebServicesCM@starbucks.net

Thanks,

Jason

Hi Paul,

Thanks for the reply. I just returned from vacation.

This is still an issue. The Predeploy script is just a basic Powershell script that massages the configuration files for a particular environment (renaming etc. so we can transform properly). The script doesn’t call any executable. I actually replaced the script with a one line write-host and the result is the same, Octopus completely ignores the script. Any other thoughts?

Thanks,

Jason

Can you try making the script “Exit 12”?

Also, could you follow this guide to run Tentacle interactively to see what happens?

Paul