(Update: See the latest on the Deployment Framework here.)
I realized today that in the "deploy.orchestrations" target of the NAnt build file (discussed here) there is a bug in the ordering of operations. The original file imported the binding file prior to deploying the orchestration - which doesn't work for a "first time" deployment.
In addition, Hermo Terblanche made a good point (in comments) regarding piplines which are used by Send/Receive ports - i.e. the ports need to be removed prior to removing/updating the corresponding pipeline assembly.
Therefore, an additional dependency has been added to the "undeploy.piplines" target - namely, "remove.ports". This target will remove exactly one Send and one Receive port, the names of which are derived from the binding file. This section of the build file will have to be customized for your purposes, just like the names and ordering of orchestrations. Note that in my sample, the orchestration uses “Specify Now” ports, and removing the Send/Receive ports is probably not necessary. However, for “Specify Later” ports (the more typical case) that use custom pipelines, you will get the error referenced in Hermo's comment if you do not remove the ports prior to updating the pipeline assembly.
The zip file with a new build file is still located here. Current NAnt output from the sample will look like this. Enjoy!
Scott Colestock lives, writes, and works as an independent consultant in the Twin Cities (Minneapolis, Minnesota) area.