OpenshiftでDjango


Pocket

こないだリリースした「3D Stamp Maker」ですが、OpenshiftというPaaS型クラウドサービスで、Django(ジャンゴ)というWebアプリケーションフレームワークを使って作りました。
始めからPythonで作ろうと思っていたので、
・Djangoが使える
・無料プランがる
という条件でPaaS型クラウドサービスを探してみたらOpenshiftぐらいしかなかったので即決定。

今回はOpenshiftを使ってDjangoプロジェクトを立ち上げる方法を書いてみたいと思います。

 

Openshiftとは

Openshiftとは、RedHatがやってるPaaS型クラウドサービスで、
Python, Django,Ruby, Ruby on Rails,Node.js,PHP, CakePHP, WordPress,JBoss, Tomcat, Vert.x,jenkins Server
などが使えるようです。
ちなみにDBはMySQL, PostgreSQL, MongoDB, SQLiteをサポート。

無料プランだとストレージ1Gと最大3ギアまで使用可能です。
#どうせ1日数PVなのでこれで十分です。

 

1.SIGN UP

OpenshiftでSignUpをクリック。

OpenShiftサインイン

Eメールアドレスがあれば登録出来る模様。
登録したEメールアドレスに認証メールが届くので、認証メールのリンクをクリックすると登録完了です。

 

2.Settings

まずアプリケーションを作る前に簡単な設定が必要です。

openshift設定

Namespace

お好きなドメイン名を設定して下さい。設定したドメイン名でアプリの公開URLが決まります。

公開URL:http://アプリケーション名-ドメイン名.rhcloud.com/

Publick Keys

ローカルで作成した公開ガキを登録して下さい。
公開カギの作り方はググると沢山出てくると思います。
作成したid_rsa.pubファイルの内容をブラウザ上にコピペします。

 
これで初期設定は完了です。

 

3.Create your first application

それでは、早速アプリケーションを作っていきます。
openshiftアプリ作成

Applications画面でCreate your first application nowをクリックする。
openshiftアプリ選択

作成するアプリケーションを選択して下さい。
今回はDjangoを選択。

Djangoの設定

openshift_Django設定

Public URL

アプリケーション名を入力して下さい。

Cartridges

使用するPythonのバージョンを選択して下さい。
とりあえず「python2.7」を選択。

Scaling

今後スケールアップするか。
Scale with web trafficを選択すると、自動的にロードバランサが組み込まれ通信量に合わせGearが割り当てられるようです。

設定が終わったらCreate Applicationをクリック。
しばらく待つとアプリ生成が完了します。
作成したアプリURLにアクセスすると、Yeah Django!が表示されると思います。

 

4.ローカル開発環境の準備

次に、ローカルで開発するための準備をします。

開発&デプロイにはGitが必要になるので、インストールしておいて下さい。

1.まず初めに、開発環境をOpenShiftからクローンしてきます。
 git clone ssh://***@***-***.rhcloud.com/~/git/***.git/
cd “your_app”

2.落としてきたフォルダの中にあるSetup.pyを適当に編集したらコミットしてプッシュ
 git add ./
 git commit -m”コミットメッセージ”
 git push

 ここでadminパスワードが表示されると思っていたが・・・出ない?なぜ?
 しょうがないので、SSHでログインして、
  ~/app-root/data/CREDENTIALS
 を開くとパスワードが書いてあります。

3.virtualenvの作成
 virtualenv venv –no-site-packages
 source venv/bin/activate

4.ローカル環境にDjangoをインストール
 python setup.py install

 

5.アプリの実装

ここまで来たら後はアプリを実装していくだけです。・・・と言うかここからが本番ですがw。
ローカルで設計→コーディング→テストをぐるぐる回す。

いい感じに動くようになったらpush
git push

pushするとOpenshift側で自動的にデプロイ処理が走ります。

と、まぁざっくり書きましたがホントにこんな感じです。
Djangoの使い方は、公式から分かり易いドキュメントが公開されているので、そちらを見ればほぼ問題ないと思います。

 

あとがき

OpenShiftを使ってDjangoプロジェクトを立ち上げるところを書きました。
時間にして約10分ほどで環境準備ができてしまうのはクラウドのすごいところですね。

3D Stamp Makerの開発期間は約1週間ほどです。
といっても、ほとんどはDjango,stlフォーマット,jqueryとかのお勉強に当てた時間がほとんどなので、経験ある人が作れば数日でリリースできてしまうというお手軽さ。

初めて使ったDjangoについては、結構ハマったところがあるのでそのうちまとめたいと思います。

人生2つ目に作ったWebサービスですが、1作目からだいぶ進歩できたかなと思います。
#ちなみに、1作目はMA9応募作品の誰でもベストアンサー。大会期間限定のAPIを使っているので現在は公開してないです。

組込みエンジニアでもWebサービスが作れちゃうとか、そんな時代なんですかね~。

 
 

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>