A 2-1 gitwebmatrix 2 から使う node.js on windows azure

1,560 views
1,468 views

Published on

A-2-1

Git/WebMatrix 2 から使う Node.js on Windows Azure

Japan Windows Azure User Group
森島 政人

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,560
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

A 2-1 gitwebmatrix 2 から使う node.js on windows azure

  1. 1. 2012/6/30(土) Go Azure Day2OSS トラック A-2-1 Git/WebMatrix2 から使う Node.js on Windows Azure
  2. 2. 自己紹介• JAZUG メンバー• 森島 政人 (もりしま まさひと)• 研究開発職 共著ですが書籍の執筆もしました が、わずか半年ほどで内容が・・・ クラウド系書籍の執筆はキケンですが、 開発者としてエキサイティングでもあります 2
  3. 3. セッションの目的• Node.js が Windows Azure 上で割と簡単に動作 → Webサイト• Azure ストレージ、サービスバスも利用可 → Azure SDK for Node.js• 開発環境も用意されている → WebMatrix2• Linux からも使える → Command Line Tools 3
  4. 4. Agenda Node.js とは Widows AzureとNode.js Git/Tools/WebMatrix2 まとめ
  5. 5. NODE.JSとは 5
  6. 6. Node.jsとは• サーバサイド JavaScript (Google V8) – イベントループ – ノンブロッキングI/Oモデル – シングルスレッド• Windows ネイティブ対応 v0.6 ~ 最新版 2012/6/26 v0.8 リリース• npm で 拡張モジュールも楽々インストール CPAN/RubyGems/Nuget みたいなもの 6
  7. 7. 簡単なサンプル• どんなリクエストにも Hello World と応答する 有名な HTTP サーバーサンプル var http = require(http); http.createServer(function (req, res) { res.writeHead(200, {Content-Type: text/plain}); res.end(Hello World¥n); }).listen(1337, 127.0.0.1); console.log(Server running at http://127.0.0.1:1337/); 7
  8. 8. node.exe 実行例• 実行は node.exe を実行するだけ > node.exe server.js 8
  9. 9. ご参考• Windows Developer Day 2012 SP-018 Node.js を利用した Web アプリケーション開発• 以下にて、スライド・動画が公開中• http://channel9.msdn.com/Events/Speakers/k oichi-kobayashi 9
  10. 10. WINDOWS AZUREとNODE.JS 10
  11. 11. Windows Azure とは• マイクロソフトが提供する PaaS 今回 IaaS も増えましたが...• Node.js から 扱えるものたち クラウドサービス • Web ロール BLOB サービスバス • Worker ロール テーブル Web サイト キュー Azure ストレージ 11
  12. 12. AzureのNode.jsサポート• 2011/11 November Release – Windows Azure SDK for Node.js – PowerShell Cmdlets – Cloud9 IDE• 2012/06 Spring Release – Webサイト Gitサポート – Webサイト Command Line Tools – Webサイト WebMatrix2 12
  13. 13. 関連ツールの整理ツール名 概要 動作環境SDK for Node.js Node モジュール Node.js • ストレージ • サービスバスPowerShell Cmdlets クラウドサービス Windows • Web ロール • Worker ロールCommand Line Tool Web サイト (に特化) Linux/MacOS Node.js のスクリプト Windows …WebMatrix2 簡易開発環境(IDE) Windows Webサイト連携 13
  14. 14. DEMO 14
  15. 15. PowerShell Cmdlets• クラウドサービス用> New-AzureServiceProject ProjectName> Add-AzureNodeWebRole WebRole1> Add-AzureNodeWorkerRole WorkerRole1> ...> Start-AzureEmulator -Launch> Get-Help node-dev 15
  16. 16. Git サポート• Git(ギット) 分散リポジトリ• Linux カーネルのソース管理が目的• GitHub が有名• Azure SDK も GitHub 上で公開 https://github.com/WindowsAzure• Web サイトで Git からの発行をサポート Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License. 16
  17. 17. Web サイトの作成HTML5 対応した新ポータルPreview 17
  18. 18. Web サイトの作成後作成直後の画面 18
  19. 19. Git の設定ユーザを設定する 19
  20. 20. Git の設定GitリポジトリのURLを取得 20
  21. 21. DEMO 21
  22. 22. Git 操作• リポジトリの初期化、作成、 追加• リモートリポジトリの設定、Push> git init> git add .> git commit . -m"initial version"> git remote add azurehttps://xxx@yyy.scm.azurewebsites.net/yyy.git> git push azure master 22
  23. 23. Web サイト上での実行例• URL の違い• タイムゾーンの違い 23
  24. 24. 履歴の確認• 管理ポータルから 履歴を確認できる 24
  25. 25. COMMAND LINE TOOLSFOR MAC & LINUX 25
  26. 26. Command Line Tool• Linux/MacOS から利用可能なCLIツール• 実際は Node.js で書かれたものなので Windowsからも実行可能• WebサイトとVirtual Machineに特化• エミュレータなどは当然なし 26
  27. 27. 最新版をいれる(Ubuntu)• 標準リポジトリの nodejs は古いので注意 ツールインストール時にエラー とはいえ、v0.8.1 リリース されたので、この方法ではv0.8が入っ てしまい、SDKが未対応(昨日までは大丈夫でしたが)• 現時点では、v0.6.19のtarballからmakeしたほうが無難です> sudo apt-get install python-software-properties> sudo apt-add-repository ppa:chris-lea/node.js> sudo apt-get update> sudo apt-get install nodejs[=version] npm参考URL: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager 27
  28. 28. Command Line Tool• VMware + Ubuntu Linux 12.04 より操作 28
  29. 29. Command Line Tool• 証明書の作成~インポート• Web サイトの作成 ~ GitによるPush> azure account download> azure account import Azure-XXX.publishsettings> azure site create SiteName –git> ...> git push azure master> ...> azure site list> azure site show/start/stop/delete ... 29
  30. 30. 実行の様子 30
  31. 31. DEMO 31
  32. 32. WEBMATRIX2 32
  33. 33. WebMatrix2• Web(簡易)開発環境• 2012/6月 RC版(Release Candidate)• Node.js サポート コード補完、テンプレート、...• Windows Azure Web サイトとの連携• Web PI で簡単インストール 33
  34. 34. 管理コンソールから• Webサイトの管理コンソールから 楽々起動・設定 34
  35. 35. 起動画面 35
  36. 36. Nodeテンプレート 3種類 • Empty Site • Starter Site • Express Site 36
  37. 37. 各種テンプレートの初期状態 ← Empty ← Express (+Jade) ← Starter (+色々) 37
  38. 38. 開発画面例 38
  39. 39. ローカル実行 • IIS Express • 複数ブラウザ対応 – IE – Chrome – FireFox – WP7 (要エミュレータ) 39
  40. 40. Windows Azure へ発行• Web 配置機能 (FTP 等もサポートしている)• 管理ポータルからサイトを作成していれば、配置に必要な 情報は設定済み 40
  41. 41. 発行の設定• リモートタブ の 設定から• 管理ポータル経由なら 初期設定済み 41
  42. 42. コード補完 (IntelliSence)• コード補完が効く!• ただし補完が効く範囲が? 正式版に期待• 試した限りだと標準モジュール(例:http)とか利かず• 紹介ページだと効くようにみえるのだが...• RC版では修正が必要(次ページ) 42
  43. 43. RC版でコード補完を有効に• C:Program FilesMicrosoft WebMatrixSchemas• 「1033」→「1041」に変更• 正式版では直るでしょう 43
  44. 44. デバッグサポート• 拡張機能から 「Node Power Tools」をインストール• node-inspector による デバッグ• ブラウザは Chrome に限定• npm install node-inspector -g 44
  45. 45. Tips• WebMatrix2上からnpmは直接実行できない コンテキストメニューから、コマンドプロン プトが起動できるため、そこでnpm• Azure SDK は以下でインストール ストレージ、サービスバスのライブラリ> npm install azure 45
  46. 46. 参考)Azure上での実行方式• Web ロール、Webサイト上の Node.exe は IIS 上で動作している• iisnode モジュールが提供• 他のコンテンツと同居が可能• URLリライトルールは、Web.configを参照• WebSocketは使えない• Workerロールは Node.exe セルフホスト 46
  47. 47. DEMO 47
  48. 48. まとめ• Windows Azure 上で Node.js が動作• 特に Web サイトとの相性が良い• ストレージ、サービスバスも利用可能• 適材適所!• 開発情報は以下のURLから!• https://www.windowsazure.com/en- us/develop/nodejs/ 48
  49. 49. ご清聴ありがとうございました

×