Kudu にログインすれば Debug Console で Azure Web サイトで色んなコマンドを実行出来ますが、いちいちブラウザを立ち上げて Microsoft アカウントでログインするのがめんどくさく感じてきたので、KuduExec を使った操作を試しました。
KuduExec は Node.js を使っているので、npm でインストールを行います。
npm install kuduexec -g
Node.js と言うことはクロスプラットフォームで動くはずなので、Windows と OS X の両方で試しました。
Windows
Visual Studio 2015 Preview をインストールしている環境なら、ほぼ Node.js も同時に入っているはずなので簡単に使えるようになりました。
npm へのパスも通っているはずなので、コマンドプロンプトからインストールコマンドを叩くだけです。
インストールが終わったら kuduExec コマンドが使えるようになっているので、SCM サイトの URL をパラメータとして渡して実行します。
資格情報はユーザーレベル、サイトレベルのどちらでも問題無いです。
違和感なく Azure Web サイト上でコマンドを実行出来ています。
OS X
OS X と言うか Node.js で作られている KuduExec は当然ながら実行には Node.js が必要になります。Node.js のインストールとかは省略しますが、自分は Homebrew で適当にインストールしました。
Windows の時と同じように npm を使ってインストールを行います。
同じように SCM の URL を渡して、資格情報を入力します。
パッと見は多少違和感がありますが、問題なく Azure Web サイト上の操作がターミナルから行えました。
おまけ
今回は Node.js 版の KuduExec を使いましたが、C# で書かれた KuduExec.NET も用意されています。
projectkudu/KuduExec.NET · GitHub
と言っても機能はほぼ同じで、C# で書かれているというぐらいしか特徴がありません。
ちなみに Kudu の REST API にはコマンドの実行が用意されているので、KuduExec はそれを叩くクライアントと言うだけだったりします。