しばやん雑記

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

Azure Web サイトのアップデートで Kudu S30 への更新と PHP 5.6 が追加された件について

先週、ヘルシンキに行っている間に Azure Web サイトがちょいちょいアップデートされていたみたいなので、気が付いた点をまとめておきます。ラピッドリリース、マジ凄いっす。

Kudu S30

Kudu のバージョンが 30.31023.1215 へとアップデートされました。

S30 (10/27/2014)

  • Support for auto-swap in continuous deployment scenarios
  • Support passing feed url when installing site extensions
  • Handle copying over a DLL in use by trying to rename it first (relevant to NewRelic)
Version history · projectkudu/kudu Wiki · GitHub

注目はデプロイ後に自動的にスロットをスワップする機能ですかね。ソースコードを読む限りだと、App Settings で WEBSITE_SWAP_SLOTNAME と言う名前のキーを追加すれば有効になるみたいです。

Azure 界の抱かれたい男 No.1 曰く、PowerShell にも設定が追加されていたようです。

後は New Relic を使っている時に、デプロイに失敗する問題への対応が追加されたみたいです。MSDeploy が Site Extensions になってから対応が困難でしたが、これで解決出来そうです。

PHP 5.6

Kudu のアップデートと同じタイミングで PHP の最新版である 5.6.2 がインストールされていました。

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

まだ管理ポータルから設定は出来ないですが、そろそろアップデートされるのではないかと思ってます。

ちなみに applicationHost.config で FastCGI の設定は既に追加されているので、後は Web.config でハンドラーの設定を行うだけで PHP 5.6 を有効に出来ます。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="PHP56_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v5.6\php-cgi.exe" resourceType="Either" />
    </handlers>
  </system.webServer>
</configuration>

ちゃんと PHP 5.6 で phpinfo が実行されていることがわかります。

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

PHP 5.6 に限らず、この方法で対象外の PHP バージョンを Azure Web サイトで動かすことが出来ます。

おまけ - リモートデバッグの VS14 対応準備

これも設定は追加されてないですが、VS14 用のリモートデバッグ用サービスがインストールされていました。今すぐに使えるようになるものではないですが…。

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

着々と VS14 や ASP.NET vNext などへの対応が進んでます。