HerokuでPHPアプリケーションをデプロイする方法

こんにちは。はじめまして、株式会社モカでエンジニアをしているTakuyaです。

今回はHerokuでPHPで作ったアプリケーションを実際にデプロイする方法に加えて、アプリケーションのステージング環境を一緒に構築する方法も合わせて紹介します。

そもそもHerokuとは?

Herokuとは、Google App EngineやMicrosoft Azureと並ぶPaaS(Platform as a Service)と呼ばれるサービスのひとつです。PaaSであるHerokuにはアプリケーションの実行に必要なミドルウェアなどの構成要素がすべて揃っています。つまり、アプリケーションさえ用意すれば、実行環境はHerokuがすべて担ってくれるということになります。

Herokuの登録とHeroku Toolbeltの導入

Herokuの登録とHeroku Toolbeltの導入が完了していることを前提に進めていきます。まだ済んでない場合は以下のリンクから設定を進めてください。また、Herokuはgitを用いたバージョン管理の機能も備えていますので、ローカルでgitが使えることも確認してください。実行環境はMac OSです。

Heroku : https://signup.heroku.com

HerokuToolbelt :https://toolbelt.heroku.com

Herokuの登録とToolbeltの導入が完了すると、ターミナルでherokuコマンドが使えるようになります。

Herokuにアプリケーションをデプロイする

Herokuを利用する環境が整ったところで、実際にデプロイするPHPアプリケーションをHerokuに登録していきます。

まず、PHPアプリケーションのルートディレクトリに移動して、Herokuにログインします。

$ heroku login

登録に使用したメールアドレスとパスワードを入力したあと、Herokuと通信するためのSSHキーを作成します。

鍵の作成が終了したら、いよいよアプリケーションをHerokuに登録していきます。まずはアプリケーションをgit管理下に置きます。

$ git add .

$ git commit -m “initial commit for heroku”

次にデプロイしたいアプリケーションのルートディレクトリまで移動して、下記のコマンドを入力してアプリケーションをHerokuに登録します。appオプションでアプリ名を指定することが可能で、指定しない場合は任意のアプリ名が設定されます。

$ heroku create –app アプリ名

すると登録されたアプリ名が表示されるとともに登録が完了したことが分かるかと思います。次にHerokuに登録したアプリケーションがPHPで作成されたものであることを認識させます。

$ heroku buildpacks:set heroku/php –app アプリ名

最後にデプロイを完了させるため、以下のコマンドを打ちます。

$ git push heroku master

もしherokuという名前のブランチが見つからないというエラーが出た場合は、

$ heroku git:remote -a アプリ名

と打って、Herokuが用意しているリモートリポジトリにGitURLを登録してから再度pushしてください。

アプリケーションを実行する際は、

$ heroku open

と打つことでブラウザが立ち上がり、アプリケーションが動いてるのが確認できるかと思います。

Herokuでステージング環境を用意する

ステージング環境は、あらかじめ開発環境でデバッグが済んだアプリケーションを本番環境に限りなく近い状況でテストするための環境になります。Herokuにはステージング環境を簡単に用意できる機能が備わっているので、あわせて紹介します。Herokuでステージング環境を用意するには、まずステージング環境を用意したいアプリケーションをフォークします。試しに今回デプロイしたアプリケーションを以下のようにしてフォークしてみます。

$ heroku fork –from アプリ名 –to アプリ名-staging

フォークが完了したら、ステージング環境のGitURLを以下のコマンドを打って取得し、

$ heroku info -a アプリ名-staging

取得したGitURLをリモートリポジトリに登録して、git addとcommit, pushまで完了すれば、ステージング環境に置いたアプリケーションが実行可能となります。ここではブランチ名をstagingとしていますので、pushする際には間違えてherokuと指定しないように気をつけてください。

$ git remote add staging https://git.heroku.com/アプリ名-staging.git

$ git add .

$ git commit -m “staging”

$ git push staging master

最後にステージングしたアプリケーションを指定して、挙動を確認します。

$ heroku open -app アプリ名-staging

以上となります。

このあとによく読まれています

トップページに戻る

お問い合わせ