Azure App Service + CakePHP + Visual Studio Onlineによる超高速Webアプリケーション開発

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

こんにちは。サイオステクノロジー技術部の武井です。

Azure App Service + CakePHP + Visual Studio Onlineによって、超高速にWebアプリケーション開発することができます。今回はこちらについて色々書きたいと思います。

Azure App Service、CakePHPとは

Azure App Serviceとは、アプリケーションを動作するためのPaaS環境です。アプリケーションをgitやOneDirveからデプロイするだけで、簡単にアプリケーションが動作します。パッチ当てなどの面倒なメンテナンスは不要です。

CakePHPとは、PHPのフレームワークで、データベースのスキーマをもとに、追加・検索・編集・削除を行うためのコードを自動生成することが特徴です。

通常であれば、アプリケーションの開発には以下のステップが必要です。
※基本設計や詳細設計は終了していると仮定します。

  • サーバー構築
  • データベース構築
  • スキーマ作成
  • フレームワークのインストール・設定
  • コーディング

Azureならば、これらの全ての工程を全自動化することができます。

その効果を実感頂くために、今回、以下のアプリケーションをAzureで作成してみます。

今回作成するアプリケーション

  • 掲示板の機能を持つ
  • 入力項目はタイトルと本文とする
  • 投稿の追加・一覧表示・編集・削除(CRUD)ができる

オンプレミスの環境であれば、通常は1ヶ月程度かかるところを、30分で構築します。

構築手順

App Service作成

1.以下のURLのAzureポータルにアクセスします。

https://portal.azure.com/

2.画面左部のメニューから「参照」→「Marketplace」の順にクリックします。
image13

3.検索用のテキストボックスに「cakephp」と入力してエンターを押します。
image10

4.「CakePHP」をクリックします。
image11

5.「作成」をクリックします。
image00

6.アプリ名に任意の値(Azure上で一意である必要があります)、リソースグループに任意の値を入力します。指定したリソースグループ配下にMySQLなど全てのリソースが作成されます。「法律条項(ClearDB)」をクリックして下さい。
image07

7.「OK」をクリックして下さい。
image02

8.「同意済み」になったことを確認して、「作成」をクリックして下さい。
image05

9.左部メニューの「App Service」をクリックして、先ほど作成したApp Serviceが表示されることを確認します。
image03

10.Visual Studio Onlineを使えるようにします。先ほど表示されたApp Serviceを右クリックして「ツール」をクリックして下さい。
image14

11.「Visual Studio Online」をクリックして、「オン」をクリックして下さい。これでVisual Studio Onlineが使えるようになります。
image08

12.「移動」をクリックして下さい。
image09

13.Visual Studio Onlineが起動します。CakePHPでコードを生成するためには、まず、テーブルを作成する必要があります。そのためにMySQLへの接続情報を取得します。「WWWROOT」→「app」→「Config」の順にクリックして、「database.php」を開いて下さい。ソースコードの以下の行の部分にMySQLの接続情報が書いてあります。それをメモして下さい。
image12

CakePHPの設定

14.先ほどメモしたMySQLへの接続情報をもとに、MySQLへ接続をして、以下のSQL文を実行することにより、テーブルを作成して下さい。このテーブルは、今回作成する掲示板アプリケーションの投稿情報を格納するテーブルになります。

CREATE TABLE posts (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50),
    body TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

15.CakePHPはPHP用の単体テストツール「PHPUnit」を利用することを前提としております。PHP用のパッケージ管理ツール「Compser」を使ってPHPUnitをインストールします。まず、Visual Studio Onlineの下図赤枠のアイコンをクリックして、コンソールを開いて下さい。
image04

16.Composerをインストールします。以下のコマンドを実行して下さい。

cd app/Vendor
curl https://getcomposer.org/installer | php

17.PHPUnitをインストールします。以下のコマンドを実行して下さい。

php composer.phar require phpunit/phpunit=3.7.*

18.CakePHP で PHPUnit を組み込むには、上記コマンドで作成された vendor/autoload.php (つまり、今回の場合、app/Vendor/vendor/autoload.php) を CakePHP に読み込ませます。このため、CakePHP の app/Config/core.php に以下の 1 行を追記してください。

require_once dirname(__DIR__) . '\Vendor\vendor\autoload.php';

19.CakePHPでアプリケーション実行するために必要な「Model」「Controller」」「View」のクラスを作成します。コンソールで以下のコマンドを実行して下さい。

cd /
lib/Cake/Console/cake.bat bake all Post

20.これで掲示板アプリケーションを動作するためのソースコードが全て自動生成されました。以下のURLにアクセスして下さい。
https://cakephptestapp.azurewebsites.net/Posts

動作確認

21.以下の画面が表示されます。掲示板に投稿した記事の一覧画面です。「New Post」をクリックすると、新規投稿画面が表示されます。その他にも編集・削除機能もあります。
image01

最後に

いかがでしたでしょうか?Azureを使えば、驚くほど短時間でアプリケーションを開発できることを実感頂けたと思います。ぜひともアプリケーション開発にApp Serviceをご利用下さい。

アバター画像
About サイオステクノロジーの中の人です 88 Articles
サイオステクノロジーで働く中の人です。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる