
The engine for Git push in Azure and for your own server - NicoJuicy
https://github.com/projectkudu/kudu
======
jongalloway2
Kudu is insanely powerful. There's a browser-based console
([https://github.com/projectkudu/kudu/wiki/Kudu-
console](https://github.com/projectkudu/kudu/wiki/Kudu-console)) where you can
run git operations, copy files, npm, etc. It supports deployment and web
hooks. The new feature is Azure Site Extensions
([https://github.com/projectkudu/kudu/wiki/Azure-Site-
Extensio...](https://github.com/projectkudu/kudu/wiki/Azure-Site-Extensions)).

Kudu is automatically set up for any Azure Web Site
([https://github.com/projectkudu/kudu/wiki/Accessing-the-
kudu-...](https://github.com/projectkudu/kudu/wiki/Accessing-the-kudu-
service)). If your web site has URL
[http://mysite.azurewebsites.net/](http://mysite.azurewebsites.net/) , then
the root URL of the Kudu service is
[https://mysite.scm.azurewebsites.net/](https://mysite.scm.azurewebsites.net/).

Here's a 10 minute video with Scott Hanselman and David Ebbo that shows it off
pretty well: [http://channel9.msdn.com/shows/azure-friday/exploring-the-
su...](http://channel9.msdn.com/shows/azure-friday/exploring-the-super-secret-
kudu-debug-console-with-david-ebbo)

~~~
NicoJuicy
Webhooks.. Didn't knew that of Kudu and it just makes Kudo more interesting!
(perhaps time to check out the source).

I did read support for web hooks in Visual Studio Online now, perhaps Kudu has
something to do with it [http://www.visualstudio.com/get-started/webhooks-
vs](http://www.visualstudio.com/get-started/webhooks-vs)

------
vertex-four
I was looking at using Azure for a project that I'd likely be writing in F#.
As I run Linux on my desktop, I'd've liked to be able to manage my Azure
services from it. As it turns out, the tools for doing so don't exist for
Linux; the various cross-platform tools only manage certain parts of Azure,
missing out other important parts (such as "Cloud Services", their PaaS).

As it turned out, I decided to use node.js on Linux on EC2 instead, as I know
that works fine.

EDIT: Apparently, all the information needed to do this is now public, it's
just not exposed in any tools. You need to create a cspkg[0] file and a
cscfg[1] file, then use the Create Deployment endpoint[2] to upload them along
with extension information.

[0] [http://msdn.microsoft.com/en-
us/library/jj151532.aspx](http://msdn.microsoft.com/en-
us/library/jj151532.aspx) [1] [http://msdn.microsoft.com/en-
us/library/ee758710.aspx](http://msdn.microsoft.com/en-
us/library/ee758710.aspx) [2] [http://msdn.microsoft.com/en-
us/library/azure/ee460813.aspx](http://msdn.microsoft.com/en-
us/library/azure/ee460813.aspx)

~~~
OWaz
The Azure tools don't totally miss out on Cloud Services[1]. You should enter
an issue for the commands you feel are missing [2].

[1]: [http://azure.microsoft.com/en-
us/documentation/articles/comm...](http://azure.microsoft.com/en-
us/documentation/articles/command-line-
tools/#Commands_to_manage_your_Azure_cloud_services)

[2]: [https://github.com/Azure/azure-sdk-tools-
xplat/issues](https://github.com/Azure/azure-sdk-tools-xplat/issues)

~~~
vertex-four
Sure, I can create one, but how do I push a new deployment to my Cloud Service
from Linux? I can create Cloud Services, but I can't deploy anything, as far
as I can tell.

------
at-fates-hands
I actually use VS and TFS with Azure when I'm working on my .Net projects and
it works great.

I've been looking for something like this when I'm not working in VS and doing
non .Net work. Thanks for posting this.

~~~
NicoJuicy
No problem, i already use git for pushing to Azure and tfs online.. So
publishing to my own server meant that i needed to configure web deploy Every
time.

So thats going to chance soon ;-)

------
flaviotsf
At work we use a combination of git + Jenkins and a simple xcopy on build
succeed. Does a great job, plus it can do Slack events, email notifications,
etc.

------
mskierkowski
Have a look at [https://factor.io](https://factor.io), it is also a deployment
engine which can deploy from Github, Bitbucket, etc to your servers (e.g.
SCP). It's also much easier to setup. Additionally you can add an intermediate
build step with static gen frameworks like Middleman.

------
markjbrown
KUDU is KILLER !!!!!

