While doing some research into Capistrano, I stumbled upon a term I hadn’t heard before, symbolic links. After doing some research it looks like this is a “new feature” for windows server 2008 (previously there were junction points, which are like symbolic links, but can only point to directories on the local machine).
I am wanting to use this feature to achieve what they do in capistrano (see Deployment Directory Structure).
[deploy here]/releases/20090210064623/(files here) [deploy here]/current [symlink to 20090210064623]
With this in place it becomes very easy to install new versions of applications with out destroying the old installation, and if there is an error, in order to rollback all you have to do is change the symlink.
So here is how you make a symbolic link (if you know how to do it in the GUI let me know). Note: You have to be an admin to do this.
mklink /d .\fake .\real symbolic link created for .\fake <<===>> .\real
Here is what it looks like on the command line with ‘dir’
02/09/2009 07:28 PM <DIR> real 02/09/2009 07:30 PM <SYMLINKD> fake [.\real]
and here is what it looks like in the explorer
There is no rmlink, you just rmdir or use explorer and delete it. I like that quite a bit, makes things simple. Now I just need to add this to either nant or nant-contrib.
-d