Hi Paul,
using Octopus to deploy to a server with a complex structure, using a single NuGet package, for sake of argument called ServerPackage, to deliver the content rather than the 25 odd that would be required for each individual app.
The package contains a number of web apps, the installation of which is managed by the deploy.ps1 script.
The deploy runs successfully delivering everything as expected, but is flagged a failed due to the exception below
2011-11-28 10:49:24 ERROR Deployment on the tentacle failed: System.Exception: Could not find an IIS website named ‘ServerPackage’ on the local machine
at Octopus.Tentacle.Conventions.IisWebSite.AfterDeployment(ConventionContext context) in d:\TeamCity\Server\buildAgent\work\508f7e6149799a54\source\Octopus.Tentacle\Conventions\IisWebSite.cs:line 44
at Octopus.Tentacle.Jobs.Deployment.DeployPackageJobExecutor.Execute(DeployPackageJob job) in d:\TeamCity\Server\buildAgent\work\508f7e6149799a54\source\Octopus.Tentacle\Jobs\Deployment\DeployPackageJobExecutor.cs:line 57
at CallSite.Target(Closure , CallSite , Object , Object )
at Octopus.Tentacle.Jobs.JobQueue.RunDeploymentsOnBackgroundThread(Object ignored) in d:\TeamCity\Server\buildAgent\work\508f7e6149799a54\source\Octopus.Tentacle\Jobs\JobQueue.cs:line 83
In the knowledge base article Deploy an ASP.NET application, it suggests/implies that if you don’t want the IIS convention to run then to use deploy.ps1.
Is this the case or is there some other way of disabling/bypassing the convention?
Regards and thanks
Bruce
Hi Bruce,
You’re right that Tentacle currently fails the deploy if the site doesn’t exist. This iteration I’ve spent a lot of time in that area, and implemented a few features:
- Ability to specify the name of the website
- Ability to specify a virtual directory instead of a website
- Ability to tell Octopus not to configure a website at all (which would be useful here)
Before this release comes out I need to do some testing against IIS 6/Windows 2003, which is pending on some infrastructure I’m setting up to do it properly, but I plan to release it this weekend. Are you able to wait for that release? As a workaround you can create a site under IIS and set it to ‘stopped’.
Paul
Hi Paul,
thanks for the update/
I’ve taken the create a dummy site route for the moment, but the 3rd option above would seem to be where we’d need to go.
Bruce
I was just wondering if there is a planed release date for the features mentioned? I really could use the third one as well. I want to deploy a projects as a virtual application.
Any further progress on virtual applications? It seems to have been in the ‘Ready for Release’ section on the Trello board for a couple of months now.
I need to be able to deploy a small set of packages, where one is the IIS web site (call it the desktop site), and the other 3 are applications under that (admin, mobile etc.).
I’d like to be able to update just one package across all servers as well, such as a fix for the ‘admin’ application. Will that be possible?
Hi,
Thanks for the feedback, and sorry this took so long to close out - this feature is now released.
- If a web site doesn’t exist, Octopus will log it but not fail the build
- If you want to, you can use some of these pre-defined variables to control the behviour:
https://octopus.atlassian.net/wiki/display/help/Variables
Release notes are available at: https://octopus.atlassian.net/wiki/display/OctopusReleases/0.9.568.2630
Paul