しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

KuduExec を使って Windows と OS X から Azure Web サイトを操作する

Kudu にログインすれば Debug Console で Azure Web サイトで色んなコマンドを実行出来ますが、いちいちブラウザを立ち上げて Microsoft アカウントでログインするのがめんどくさく感じてきたので、KuduExec を使った操作を試しました。

projectkudu/KuduExec · GitHub

KuduExec は Node.js を使っているので、npm でインストールを行います。

npm install kuduexec -g

Node.js と言うことはクロスプラットフォームで動くはずなので、Windows と OS X の両方で試しました。

Windows

Visual Studio 2015 Preview をインストールしている環境なら、ほぼ Node.js も同時に入っているはずなので簡単に使えるようになりました。

npm へのパスも通っているはずなので、コマンドプロンプトからインストールコマンドを叩くだけです。

f:id:shiba-yan:20141130165548p:plain

インストールが終わったら kuduExec コマンドが使えるようになっているので、SCM サイトの URL をパラメータとして渡して実行します。

資格情報はユーザーレベル、サイトレベルのどちらでも問題無いです。

f:id:shiba-yan:20141130170210p:plain

違和感なく Azure Web サイト上でコマンドを実行出来ています。

OS X

OS X と言うか Node.js で作られている KuduExec は当然ながら実行には Node.js が必要になります。Node.js のインストールとかは省略しますが、自分は Homebrew で適当にインストールしました。

Windows の時と同じように npm を使ってインストールを行います。

f:id:shiba-yan:20141130162308p:plain

同じように SCM の URL を渡して、資格情報を入力します。

f:id:shiba-yan:20141130162316p:plain

パッと見は多少違和感がありますが、問題なく Azure Web サイト上の操作がターミナルから行えました。

おまけ

今回は Node.js 版の KuduExec を使いましたが、C# で書かれた KuduExec.NET も用意されています。

projectkudu/KuduExec.NET · GitHub

と言っても機能はほぼ同じで、C# で書かれているというぐらいしか特徴がありません。

ちなみに Kudu の REST API にはコマンドの実行が用意されているので、KuduExec はそれを叩くクライアントと言うだけだったりします。