Upgrade to Pro — share decks privately, control downloads, hide ads and more …

デプロイボタンを使ってみた

D484f3a4d5f516f943b29b9ff55a2040?s=47 thinkAmi
November 22, 2014

 デプロイボタンを使ってみた

2014/11/22に開かれた、IoT勉強会 feat. ワンチップもくもく会での発表スライドです。

(2014/11/26) .deploymentファイルを使ってFluentMigratorを自動実行する方法が分かったため、Blogのリンク先を追記しました。

(2014/11/27) GitHubのリポジトリを移動したので、サンプルコードのURLを修正しました。

D484f3a4d5f516f943b29b9ff55a2040?s=128

thinkAmi

November 22, 2014
Tweet

Transcript

  1. デプロイボタンを使ってみた IoT勉強会 feat. ワンチップもくもく会 2014.11.22 @thinkAmi (2014.11.26 追記) (2014.11.27 GitHubのURL修正)

  2. 自己紹介 • @thinkAmi • C#, Ruby, MS Access • NSEG,

    GDG信州 • りんご食べあるき – 現在56種類くらい » http://ringo-tabetter.herokuapp.com/
  3. デプロイボタンとは • ボタンを押すだけで、自動的に GitHub等からPaaSへデプロイし、 Webアプリを動かすもの – Deploy to Azure Button

    – Deploy to Heroku Button
  4. 使う人 • Deploy to Azureボタンを押す

  5. 使う人 • デプロイ情報を入力

  6. 使う人 • デプロイするリソースを確認

  7. 使う人 • デプロイ終わり

  8. 使う人 • Azure Websites で動作

  9. 作る人 • GitHubにデプロイするWebアプリの ソースコードを置く – publicなリポジトリ

  10. 作る人 • GitHubにazuredeploy.jsonを置く – 公式リファレンスが見当たらない... – 以下のGitHubのjsonファイルを参考にした – https://github.com/Tuesdaysgreen/JabbR –

    例えば、以下を書き換えてみる – デフォルトのリージョンを「Japan East」に – DBの照合順序を「Japanese_XJIS_100_CS_AS_KS_WS」に – DBのサイズを「20MB」に – 接続文字列を「NancyOwinAzure」に
  11. 作る人 • Deploy to Azure Buttonを置く – GitHubのREADMEやどこかのWebサイト • Webサイトの場合、パラメータとして

    GitHubのリポジトリのURLを渡す » http://azure.microsoft.com/blog/2014/11/13/depl oy-to-azure-button-for-azure-websites-2/
  12. 作る人 • デプロイするアプリを考える – .NET(C#) – Pythonのリポジトリを試してみたところ、 デプロイは成功したものの... • https://azuredeploy.net/?

    repository=https://github.com/kakky/mybook
  13. デプロイするアプリ • MS謹製だと、このあたり? – ASP.NET (webアプリフレームワーク) – EntityFramework (ORM) (MS

    Accessで動かない...) • 最近、MSさんOSSを推進してるので、 MS謹製以外の.NETのOSSで試す – Nancy.OWIN – Dapper – FluentMigrator
  14. デプロイするアプリ • Nancy.OWIN – https://github.com/NancyFx/Nancy – 軽量Webアプリケーションフレームワーク

  15. デプロイするアプリ • Nancy.OWIN – Open Web Interface for .NET –

    PythonのWSGI, RubyのRack みたいなの – WebサーバとWebフレームワークをつなぐ 共通インタフェース – IIS以外でも.NETのWebフレームワークが動く
  16. デプロイするアプリ • Nancy.OWIN – PythonのFlask, RubyのSinatra みたいなの – 軽量Webアプリケーションフレームワーク –

    Mono(Linux)やRaspberryPiでも動作(するとか) » Nancy公式(http://nancyfx.org/)より
  17. デプロイするアプリ • Dapper – https://github.com/StackExchange/dapper-dot-net – マイクロORM – StackOverflowのStack Exchange社製

    – MS Accessでも動く!
  18. デプロイするアプリ • FluentMigrator – https://github.com/schambers/fluentmigrator – いわゆる、マイグレーションツール – C#のコードからDDLやDMLを実行 –

    MS Accessでも動く!
  19. デプロイするアプリ • EntityFrameworkを使ってないので デプロイ直後はDBの定義とかできてない • 仕方ないので追加作業として、 手動でDBのマイグレーションを行う – この発表後、.deploymentファイルを使うと できたのでBlogを書きました(11/26追加)

    • http://thinkami.hatenablog.com/entry/2014/11/26/060848
  20. デプロイするアプリ • DBのマイグレーション – 管理画面(Kudu)のDebugConsoleから実行 • https://<app>.scm.azurewebsites.net/DebugConsole

  21. デプロイするアプリ • DBのマイグレーション – ローカルと同じような感覚で実行 • "D:\home\site\repository\packages\FluentMigrator.Tools.1 .3.0.0\tools\AnyCPU\40\Migrate.exe" /conn "%SQLAZURECONNSTR_NancyOwinAzure%"

    /provider sqlserver2012 /assembly "D:\home\site\repository\AspNetHosting\bin\AspNetHosti ng.dll" /verbose true • 上記はすべて一行で
  22. デプロイするアプリ • DBのマイグレーション – 無事終了し、準備完了

  23. 試してみた • MS謹製でなくても動作 • ソースコード (2014/11/27 URL修正) – https://github.com/thinkAmi- sandbox/NancyOwinAzure-sample

  24. ちなみに • Deploy to Heroku Button – Nancy.OWINアプリはHerokuヘもデプロイ可 • ホストがIISからSelfHostingへと変更

    – サードパーティビルドパックの.NETを使う • 中身はMono – https://devcenter.heroku.com/articles/third-party-buildpacks
  25. ちなみに • Deploy to Heroku Button – 動いてます – ソースコード

    (2014/11/27 URL修正) • https://github.com/thinkAmi- sandbox/NancyOwinHeroku-sample
  26. まとめ • デプロイボタンを使うことで 対象の言語の開発環境がなくても Azureなどのアカウントがあれば 簡単にWebアプリをデプロイできる – 何かのデモに使うとか

  27. 参考文献 • Deploy to Azure Button for Azure Websites –

    Microsoft Azure Blog – http://azure.microsoft.com/blog/2014/11/13/deploy-to-azure- button-for-azure-websites-2/ • Deploy to Azure Button を試してみた - しばやん雑記 – http://blog.shibayan.jp/entry/20141114/1415934039 • Deploy to Heroku / Webアプリケーションのポータビリティ再び - naoyaのはてなダイアリー – http://d.hatena.ne.jp/naoya/20140809/1407556488