Help us understand the problem. What is going on with this article?

Heroku と Dropbox を連携する手順 [Discontinued]

More than 1 year has passed since last update.

当機能は 2018年7月24日をもって終了しました

Heroku へソースコードをデプロイする方法には、次の3つの方法があります。

  1. Herokuの Git Repositry へ git push する
  2. Github と連携する
  3. Dropbox と連携する

一般的に、1.の方法が使われるケースが多く、2.の場合は、Heroku Pipelinesを利用する場合には必須の方法です。そのため、Heroku への Deployには、Gitが必須と考えられている節がありますが、Dropboxと連携して Deployする方法も用意されています。今回は、その手順について説明します。

前提条件

  • Heroku アカウントを持っている
  • Dropbox アカウントを持っている

Heroku と Dropbox を連携する

まず、Heroku と Dropbox を連携する前準備が必要になります。

Heroku App を準備しよう

すでに準備されているものを再利用するもよし、新たに作るもよし。今回は、専用の Appを作成して連携してみます。dropboxsyc という Heroku App を作成しました。

Screen Shot 2017-02-16 at 15.28.23.png

Dropbox と接続

Appを作成した後であれば、そのまま Deployメニューになりますが、既存のAppを利用する場合は、App を開いて Deploy をクリックします。

Deployment method にて「Dropbox」を選択して Connect to Dropbox ボタンを押します。

Screen Shot 2017-02-16 at 15.28.40.png

Dropboxとの OAuth認証画面が出てくるでしょうから、ログインをするなり、ログイン済みであれば下図のように 許可 をしましょう。

Screen Shot 2017-02-16 at 15.28.48.png

同期されたディレクトリを確認

正常に接続されると、App connected to Dropbox 欄に、Connect to Dropbox/Apps/Heroku/dropboxsync (dropboxsync は App名) と表示されています。このディレクトリがソースコードを置く、ルートディレクトリになります。

Screen Shot 2017-02-16 at 15.30.23.png

もしここで、エラーが発生して「あれっ」となったときでも、reloadしてみると良いです。Dropbox に同時にアクセスしてたりすると、なんかおかしくなったケースがあります。が、ちゃんとできてました。

ソースコードをデプロイしてみよう

それでは、Dropbox へファイルを配置して、Heroku へソースコードをデプロイしてみましょう。

Dropbox へソースコードを配置する

Dropbox ですから、ローカルのディレクトリと同期して、ふつーにソースコードを git clone するなり、一から作成するなり、なんらかの方法で、先程のディレクトリへソースコードを配置します。

今回は、先程のルートディレクトリへ index.php だけ配置して試してみます。

Screen Shot 2017-02-16 at 15.33.29.png

ソースコードを Deploy

必要なファイルをすべて配置し、Dropboxとの同期が完了しましたら、先程の Heroku Dashboard の Deploy 画面を下までスクロールします。

すると、Deploy changes 項目があり、そこに入力欄とDeployボタンが位置されているはずです。ここで、入力欄に何か「コミットメッセージ」を入力して、Deploy ボタンをクリックします。

Screen Shot 2017-02-16 at 15.34.17.png

正常にデプロイが完了すると、下図のように Deploy to Heroku と表示されるでしょう、これでデプロイ完了です。

Screen Shot 2017-02-16 at 15.34.39.png

アプリケーションを開いてみる

Heroku Dashboard 右上の Open app をクリックするなり、URLを入力するなりして、アプリケーションが表示できます。

今回のソースコードは次のとおりです。

index.php
<?
phpinfo();

したがって、次のように phpinfo の画面が表示されています。ちゃんと、php であることも認識されて、deploy されていることがわかります。

Screen Shot 2017-02-16 at 15.34.53.png

完了ヽ(´ー`)ノ

注意事項

local での実行環境を Dropboxとの同期したディレクトリで作成している場合、余計なファイルも Herokuと同期されてしまいます。本家にもあるとおり、Save hard drive space with selective sync による同期の制御や、.gitignore などの利用が付記されています。

FAQ

Dropbox Sync

試しきれていないのですが、ざっくり意訳するとこんな感じです。

.gitignore and ignored files

Dropbox フォルダ上の .gitignore に該当するファイルは Heroku リポジトリへはコミットしないようです。

App renames

Heroku App の名前を変えると、それに合わせて同期先のフォルダも変更しに行くようです。

Conflicted files in Dropbox folder

Dropbox 同期中に発生したエラーで作成されるコンフリクトファイルがあると上手くいかなくなるようです。

sho7650
妻x1+娘x4 オンプレインフラメインのインフラエンジニアが、ソフトウェア中心のPaaS/SaaS業界へ転身し、一度はやめたアプリケーションに手を出し始めている昨今、みなさまいかがお過ごしでしょうか。 外資系はいいぞ(
http://oshiire.to
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした