Home

Awesome

Unfold

Unfold is a complete deployment solution for .net based web applications. It gives you the ability to easily create and customize your deployment scenario's without having to resort to complex tools that are hard to automate or difficult to setup. Unfold is only powershell, so there's very little magic going on under the hood.

Check Getting Started wiki page for installation instructions and a quickstart

For updates and info, please check my blog

Example

The code snippet below is the entire deployment script for RaccoonBlog, the blogging engine behind Ayende's blog.

## A deployment example for RaccoonBlog, the blog engine that's powering
## blogs like Ayende's

# Configuration
Set-Config project "raccoonblog"

Set-Config scm git
Set-Config repository "https://github.com/fitzchak/RaccoonBlog.git"

# Environment to use when not specified
Set-Config default dev

Set-Config msbuild @('.\code\RaccoonBlog.Web\RaccoonBlog.Web.csproj')

# For custom apppool name
Set-Config apppool "raccoonblog"

# Environments
Set-Environment dev {
    Set-Config basePath "c:\inetpub\wwwroot\raccoon"

    # machine to deploy to
    Set-Config machine "localhost"
}

Set-Environment staging {
    Set-Config basePath "d:\sites\raccoon"
    Set-Config machine "122.123.124.125" # ip address where WinRM is configured
}

# Tasks
Import-DefaultTasks

# Set deploy as default task
task Default -depends "deploy"

Executing a deployment is now simply a matter of executing the following PowerShell command in the folder where your deployment script resides

.\unfold.ps1 deploy -to staging

Features

Dependencies

There's nothing extra you need to install. Everything comes out-of-the-box.

Unfold depends on the following technologies. They are included in the installation.

TODO