Illegal characters

I get the following when trying to push a package to a folder. Any ideas where I need to start looking?

2013-04-12 16:17:47 INFO Begin deployment
2013-04-12 16:17:47 DEBUG Deploying package Benchmark 2.5.1.3 to tentacle http://localhost:10933/
2013-04-12 16:17:56 ERROR Running job on the tentacle failed:
2013-04-12 16:17:56 INFO Tentacle output follows:

2013-04-12 16:17:48 DEBUG Begin deployment of package: Benchmark.2.5.1.3
2013-04-12 16:17:48 DEBUG Tentacle Agent information is below:
2013-04-12 16:17:48 DEBUG - Machine name: ATTPA-01120101
2013-04-12 16:17:48 DEBUG - Is 64-bit: True
2013-04-12 16:17:48 DEBUG - Service user name: SYSTEM
2013-04-12 16:17:48 DEBUG - CLR version: 4.0.30319.18034
2013-04-12 16:17:48 DEBUG - Current directory: C:\Windows\system32
2013-04-12 16:17:48 DEBUG - OS version: Microsoft Windows NT 6.1.7601 Service Pack 1
2013-04-12 16:17:48 DEBUG - Tentacle version: 1.5.1.1652
2013-04-12 16:17:55 INFO [PreDeploy Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4
2013-04-12 16:17:55 INFO [PreDeploy Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4
2013-04-12 16:17:55 INFO [PreDeploy Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4
2013-04-12 16:17:55 INFO [PreDeploy Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4
2013-04-12 16:17:55 INFO [XML Transformation] Looking for any configuration transformation files
2013-04-12 16:17:55 INFO [XML Configuration] Looking for appSettings and connectionStrings in any .config files
2013-04-12 16:17:55 DEBUG [XML Configuration] Scanning configuration file: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4\Web.config
2013-04-12 16:17:55 DEBUG [XML Configuration] Scanning configuration file: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4\bin\nCourtCreditCardLib.dll.config
2013-04-12 16:17:55 DEBUG [XML Configuration] Scanning configuration file: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4\Config\Web.config
2013-04-12 16:17:55 DEBUG [XML Configuration] Scanning configuration file: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4\Views\Web.config
2013-04-12 16:17:55 ERROR System.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength)
at System.IO.Path.GetFullPath(String path)
at Octopus.Shared.Conventions.Implementations.CopyPackageConvention.Install(IConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Shared\Conventions\Implementations\CopyPackageConvention.cs:line 42
at Octopus.Shared.Conventions.ConventionProcessor.Run[TConvention](IConventionContext context, Action2 conventionCallback) in c:\w\e6923628be6eaf72\source\Octopus.Shared\Conventions\ConventionProcessor.cs:line 75 at Octopus.Shared.Conventions.ConventionProcessor.RunConventions(IConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Shared\Conventions\ConventionProcessor.cs:line 29 2013-04-12 16:17:55 ERROR Running rollback conventions... 2013-04-12 16:17:55 INFO [DeployFailed Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4 2013-04-12 16:17:55 INFO [DeployFailed Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4 2013-04-12 16:17:55 INFO [DeployFailed Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4 2013-04-12 16:17:55 INFO [DeployFailed Script] FIX: C:\Octopus\Applications\Marius\Benchmark\2.5.1.3_4 2013-04-12 16:17:55 DEBUG Storing a record of the deployment. 2013-04-12 16:17:55 ERROR System.ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength) at System.IO.Path.GetFullPath(String path) at Octopus.Shared.Conventions.Implementations.CopyPackageConvention.Install(IConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Shared\Conventions\Implementations\CopyPackageConvention.cs:line 42 at Octopus.Shared.Conventions.ConventionProcessor.Run[TConvention](IConventionContext context, Action2 conventionCallback) in c:\w\e6923628be6eaf72\source\Octopus.Shared\Conventions\ConventionProcessor.cs:line 75
at Octopus.Shared.Conventions.ConventionProcessor.RunConventions(IConventionContext context) in c:\w\e6923628be6eaf72\source\Octopus.Shared\Conventions\ConventionProcessor.cs:line 46
at Octopus.Tentacle.Deployment.DeploymentController.Execute(StoredPackage package, VariableDictionary variables, IActivityLog log) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Deployment\DeploymentController.cs:line 50
at Octopus.Tentacle.Services.Jobs.JobQueue.RunDeploymentsOnBackgroundThread(Object ignored) in c:\w\e6923628be6eaf72\source\Octopus.Tentacle\Services\Jobs\JobQueue.cs:line 81

Hi,

My guess is that you are modifying the package installation path (using OctopusPackageDirectoryPath or the setting on the package step screen) and this is evaluating to a path that has invalid characters. You can set OctopusPrintVariables and OctopusPrintEvaluatedVariables in your Variables list for the project to true to have the values printed in the deployment log - this should make it easier to diagnose.

Paul

Hi,

Did you find a solution to this one?

For our configuration we are about to set up three environments (Dev, Demo, Prod). Everything works as expected for Dev environment, but when promoting a successful package from Dev to Demo, we get the same error as above.

Every step in the deploy, apart from updating IIS seems to work. I have verified it by changing the path for the site in IIS after deploy and it loads as expected.

I have attached the log file from the Octopus tentacle found on Demo server.

Any help or pointers would be appreciated,

Thanks in advance,

Espen

octopus.log (13 KB)

Hi Espen,

In your PostDeploy.ps1 script, you issue a dir command and the only folder appears to be named ‘temp’. Why is that? Do you move the files around in the Deploy.ps1 script?

Octopus will only attempt to auto update IIS if you have a file named web.config at the root of the package. If you have moved it somewhere else during deployment then the IIS configuration won’t run.

Paul

Hi, again,

Thanks for your reply.

The only operation done in PostDeploy.ps1 is to cleanup all transformation files. That is delete them. I do not have any customizations for Deploy.ps1 script.

Right now the only difference I can see with the tentacle operating on Dev (where everything works) and Demo/Prod is that the version on the tentacles Demo/Prod are newer (v1.3 vs v.1.5). I will try to update both the Octopus server and tentacle for Dev to latest version tomorrow.

Regards,

Espen

Upgrading the Octopus server solved my issues. The site is deployed as expected now. There are still entries in the log from the deployment saying I should FIX the directory where the sites is deployed to though…

Regards

Espen

Hi Espen,

Thanks for the update. These are actually debugging messages for me that
accidentally made it into the last release - they’ll be removed next
release. You can ignore those.

Regards,

Paul Stovell
Octopus Deploy
W: octopusdeploy.com | T: @octopusdeploy http://twitter.com/octopusdeploy