Here’s other part of the email where I do my assessment on comments from the affected team and my experience with OctopusDeploy which I gained @ my previous company:
1. OctopusDeploy uses a lightweight packaging scheme – NuGet packages (.nuspec specification). They are not as comprehensive as the WebDeploy’s manifest XML files, but are very simple to understand and work with.
2. OctopusDeploy uses a versioning scheme (the same as NuGet’s) – you can only deploy packages which bear a version number.
3. The NuGet packages used for deployments can be saved in a variety of locations: a network folder (drop location), a NuGet server or OctopusDeploy’s built-in NuGet server.
Thus, we can always have a repository from which we can pick and choose versions of the product.
For instance, if the latest version of the website has a critical bug in it, we can take the previous version that was used on Production and deploy it instead.
4. One of the pivotal concepts of OctopusDeploy are the steps – you can have a very well separated deployment process for each set of servers (“dev”, “test”, “production”)
5. In OctopusDeploy, the deployment details are recorded in two “groups”: (projects and underlying steps) and (value changes). Value changes – using either XDT config file transformations, or using PowerShell scripts can easily be put under source control.
6. OctopusDeploy features a web UI where people can configure and monitor the deployment status of various applications on different servers.
There’s a live demo and video tutorials that I can recommend taking a look at.
Creating a deployable release requires the use of a command line tool, but doing the actual deployment to the “dev” server can be automated to be a part of the build process.
Furthermore, deploying to the other environments is done via the web UI and there is detailed logging and auditing available.
Thus, every stakeholder of the product can observe what is the deployment status of a given version on a given environment.
7. WebDeploy has extensive documentation and a dedicated blog. OctopusDeploy has both as well.
8. WebDeploy is free and while OctopusDeploy has a free Community edition, we might end up having to pay for a Professional or Team license, based on the number of deliverables we deploy and the number of servers we deploy to.
9. WebDeploy offers a wide variety of providers which tackle a lot of deployment situations. Octopus offers only a few built-in step templates, but there’s also a community-driven library of step templates.
10. WebDeploy has new versions with new features and bug fixes very rarely, whereas OctopusDeploy is following a clear roadmap and is releasing new versions at a regular pace, improving steadily upon their offering.
I hope that I can attract more attention to this topic in order to help other guys who are facing the bout WebDeploy Vs OctopusDeploy!
Cheers!
Bobby