URL of Servant
is the URL you want Servant to be accessible from.
is the credentials you want to use to authenticate yourself.
When all fields is entered click the green button. This will save your configuration.
The next screen leaves you only one button to click on: Click here to login now
Servant will now ask for your credentials and log you in - That's it! You can now log out of your server and access Servant from your desktop machine.
The home screen
The home screen of Servant gives you a quick overview of the latest unhandled exceptions thrown by any of your sites. Clicking on the exception will redirect you to the
details/stack trace of the selected exception (we will get to exceptions later).
Notice that all of your sites is available by clicking the Sites item in the menu to the left.
If you're experiencing bugs, want new features or anything else there's a feedback button to the right of the screen.
Create new site
By clicking on Create new under the menu's site section you'll be able to create a new website. Simply fill out all of the fields like when you create sites
in the IIS Manager, and Servant will create the site and redirect you to the site's settings page. Simple as that!
The site settings page give you direct access to the basic settings of a website.
You can change name, bindings, site path and application pool. Also you can start/stop a site, restart the site or recycle
the application pool it's running on. Of course you can also delete the site.
From this screen you can go to the errors screen from the top menu.
The site errors screen is powerful tool that quickly shows you all unhandled exceptions thrown by the selected website.
The exception column is the message of the exception.
The timestamp column is the time since the exception thrown. By hovering over the text you'll get the UTC timestamp.
By clicking on the exception message you'll be redirected to the error details screen.
That's all for now. Servant is not released as open source. There's a commercial edition on its way including awesome features like error monitoring, git publish and more.
I hope you like my product! I'm extremely excited about the release and would love to hear your feedback.
So please drop a comment, are you going to try out Servant on your servers?
Have a great day!
Have you heard?
Recently Microsoft bragged about the new and much more awesome Azure.
One of the more cool things they announced is the ability to deploy your applications directly from your git repository (using git push) and straight to your Azure hosted website. It loads your master branch, compiles everything and upload the whole thing automatically. Pretty sick!
Now you may think “Cool story bro, but I host my own IIS!” - Well, no problem! David Fowler and David Ebbo are the creators of Project Kudu - the engine behind automated deployment via Git on Azure. These guys did an awesome job by not limiting this project to Azure, making us able to use it on IIS. Now time to grok it!
Clone the repo
Point your browser to https://github.com/projectkudu/kudu and clone the master down to your disk.
Build n’ start!
Below I’ll assume that you have IIS 7.x installed on your local machine. If you want to go live with Kudu, simply deploy the Kudu.Web project to a site on your production/online IIS as usual.
Now open up the Kudu.sln in Visual Studio. Mark the Kudu.Web project as active (makes it bold) and hit CTRL+F5.
If everything went well you should now see the Kudu dashboard, looking like this:
Create your first Git enabled site
In your Kudu dashboard:
- Click the “Create application” link in the top menu.
- Enter a preferred name for the IIS site (I.e. “jhovgaardnet”).
- Click the blue “Create application” button.
Kudu is now creating a brand new IIS site directly on your IIS (!!) and showing you some geeky stuff:
It tells the URL to the Git remote we can push apps to, the URL to the site itself and the service URL which actually is the Git remote from before.
Let’s take a quick look in IIS to see what happend:
So Kudu is creating 2 sites with a kudu_ prefix. The first is the main site, the one hosting your application. The second is the “git remote site”/service site. Both sites is running on the same application pool.
If we go to the application URL we see a default screen:
Let’s push it!
Alright, let’s assume that you want to push a FunnelWeb blog like mine to the newly created site. First clone your fork of FunnelWeb (or whatever application you like) to your disk. Next open up a git shell (if you’re using Github for Windows, go to the repository, select tools then open a shell here). We now need to add a new remote, using the Git URL we got from Kudu. In my case I typed this:
git remote add kudu http://localhost:63185/jhovgaardnet.git
Git now knows about the repository located on our local IIS, making us able to do a simple push of our master like this:
Awesome! If you didn’t mess it up, this is what you should see (not necessary the dependency installations of course):
Now updating the application URL shows my fully deployed blog, just as expected. Yes, it’s freaking awesome!
The next thing for you will be to deploy Kudu on your production IIS, setting up sites as Kudu sites, setting correct bindings, etc.
I really think Kudu is swell and I hope to see some interesting forks of Kudu that moves it closer to a continuous integration system with Github hooks, unit testing abilities, etc. TeamCity is cool, but it’s expensive and heavy. We need a slick open source .NET alternative and I hope Kudu is the beginning!
What do you think? Can you see the possibilities? Are you going to use Kudu?
Thanks for reading guys!
If you read so far, why don’t you follow me on Twitter? :-)
So you just installed Visual Studio 2012 and hit your .sln file for the very first time. Visual Studio boots up and you feel excited. Then bang, you see something like this:
I’ve also seen errors like these:
- The application which this project type is based on was not found.
- This project is incompatible with this version of visual studio 2012.
- This project is incompatible with the current edition of Visual Studio.
- Incompatible. The project will load in the background.
- Load failed. The project requires user input.
The reason is that Visual Studio 2012 doesn’t support ASP.NET MVC 1 or 2.
Download and run the ASP.NET MVC 3 Application Upgrader on your solution. After doing that you should be able to open your solution.
If your project isn’t using MVC or you can’t get the upgrader to run, try following Eilon’s post.
Thanks to Eilon for pointing out the correct solution in comments.