何か始めねば。
藁から始めよう。
ちょっと作ってみたいものが思いついたので、そそくさと手を動かして公開するまでもっていく練習を兼ねて。
公開先をせっかくアカウントとったのに無料期間に何もできなかったAzure様への公開を目標としました。
ネタをどうするか。
丁度いまやってるゲームで、こういう見え方したらいいよなってデータが無いので作ってみる。内容は至極簡単なリンク。
参照データはがんばってCSV化。
CSVを読み込んで、データ一覧からLINQでほしいデータを抽出して並べるだけの簡単なプログラムです。
今回はASP .NET MVC 4 をつかって、VS2010から開発。
ん?なんでいまさらそれなのかって?
PCに隙間が無くて最新のVS入れられなかったの!
というわけで、プログラムは雑なので省略。
本当はさらにきれいな見た目を作りこめればjsフロントエンドの勉強にもなっただろうけど、そこまではしません。
Azureに上げてみる。
ここからが本題。そのまえにアップロード先を作らねばいけません。
なにぶん、アカウントを作って放置しっぱなし、もちろん無料期間は過ぎています。なお、AzureのアカウントつくったらMSさんから直々にワタクシの携帯に電話が入り「どんなブツ作るか話聞かせてもらおうか?」とアンケートがあったのが一番びっくりしました。
(いえ・・・とりあえず登録しただけでもやっとしてるだけですって答えたよ!)
なので、使用期間のサブスクリプションを、従量課金へグレードアップしました。
次に「アプリケーションが動く場所」を作ります。
無料で使えるのはWebAppなので、そいつを使いましょう。
ポータルの左側からWebAppを選択。
追加を押すと候補がいっぱい出てきます。本当はちゃんと選択したほうがいいですが、一番汎用性高そうなWeb Appを選択しました。
概要が出るので、作成を押します。
必要事項を記入します。
アプリ名(被らないようにちゃんと使えるものをチェックしてくれるよ!)
サブスクリプション
リソースグループ
App Servise プラン/場所
ここでプランと場所を選ぶんですが、初期設定値がS1になってました。
無料じゃないやつです。ちゃんと選択し直しましょう。
なお、選択しようとしても有料プランのみのおすすめが出てきやがりましたが、下のほう名でスクロールするとちゃんとFreeがあります。
あとは作成しちゃえば1分かからず準備完了です。
共通だからか早いもんですね。
アップロードしよう
今回はVisual Studio 2010を使いました。
ソリューションを右クリックすると、発行のメニューが出てきます。
今回はFTPを使ってのアップロードをしてみました。
Azure側でも、FTPの受入設定が必要です。
App Servideのメニューから、デプロイ資格情報を選択します。
FTPのアカウントとパスワードを設定する画面が表示されるのでお好みのユーザ名とパスワードを設定します。セキュリティには気を付けて。
これで設定すると、App Serviceのメニューよりプロパティを選択するといろいろと初期設定値が出てきます。
この情報を、VS2010の発行ウィザードに登録します。
この時、対象のパスにFTPホスト名をそのままぶっこむと、アップロード先が公開フォルダになってくれませんでした。そりゃホスト名だもの、そうなるよね。
なので、公開先はホスト名+site/wwwrootをつけておきましょう。
なんど発行してもファイルが更新されないぞってなってました。
これで稼働確認!
とおもったら、エラーがでてました。
詳細を見るために、Web.configにCustomeError="off"を追記します。
よくみると、必要なDLLとデータフォルダが足りてませんでした。
必要なDLLは、参照設定のローカルコピーをTrueにする→再度発行で対応できました。
データフォルダは発行対象に含まれていなかったので、今回は直接FTPでアップしました。
このへん、うまいことやる必要がありますね。
動け!動いてくれ!
はい、結果すんなり動きました。
あっさり動くもんです。今回は最も相性のいいと思われるASP .NET MVCをつかったからか、本当に苦労なくできました。
それよりも一番気がかりなのが
AWSで大量課金発生とかの記事を読んだことがあったので、クラウドサービス使うのって怖いのが問題かもしれない。
やれば、できる。
やらなきゃ、できない。当たり前ですが。
実際、ちょっと仕事から逃げたい気持ちが強かったんですが、こうやって簡単ながらも動くものを作ったことで、なんか、こう、すごくスッキリして仕事が手につくようになりました。
「区切りをつける」ことの重要さを学んだ気もします。