1

ここに私の現在の設定があります:Google App Engineの開発と生産環境の設定

devの支店、GitHubリポジトリ。 myappdev.appspot.com(ない本当のURL) myapp.appspot.com(ない本当のURL)

のAppは

開発がローカルのdevのサーバー上で実行されジャンゴ-nonrelを使用して、GAEのPython 2.7で書かれました。私がdevにリリースする準備ができたら、バージョンを増やして、commitし、 "manage.py upload"をmyappdev.appspot.comに実行します。

テストが完了したら、devからmain repoへの変更をマージします。メインのレポコードをmyapp.appspot.comドメインにアップロードするには、「manage.py upload」を実行します。

この設定は良いですか?ここに私が遭遇したいくつかの問題があります。

1)私はgitを使い慣れていないので、ファイルを追加することを忘れて、コミットしても通知されません。だから私はdevのコードをデプロイするが、devブランチにあるものとは一致しない。 (これは悪い習慣です)。

2)git repoのデータストアファイルによって問題が発生します。バイナリファイルをマージしますか?このファイルをローカルマシン間で移行しても問題ないのですか?

3)dev/prod環境へのリリースごとに "manage.py upload"を使用するべきですか、それとももっと良い方法がありますか? HerokuはGitHubから右に引っ張ることができるように見えます。私が今やっているやり方は、人為的ミスの余地があまりにもあるようだ。

セットアップを改善する方法に関する全般的な提案はありますか?

ありがとうございます!

答えて

0

私はまだpy2.5、django-nonrelを実行していますが、かなり似た設定です。

1)私は通常、ファイルのチェックインを忘れたかどうかを確認するために 'git status'または 'git gui'を使います。

2)個人的に私のデータストアをチェックインしません。あなたは.gitignoreに精通していますか?これはテキストファイルで、 'git status'やその他の機能を実行するときにgitが無視するファイルをリストしています。私は.gaedataと.pycとバックアップファイルを入れました。

データベースを管理するために、データベースをjsonでエンコードされたファイルにダンプする "python manage.py dumpdata> file"を使用します。それから私は "python manage.py loaddata"を使ってそれをリロードすることができます。

3)私はgitからの配備について知らない。デプロイする前にgitが最新であるかどうかを確認するための小さなPythonスクリプトを書くことができます。個人的には、私はそれを確認する前に、それが動作していることを確認するためにテストするために物を配備します。

+0

ありがとう、これはすべて非常に有用です。私は間違いなく、データストア上で.gitignoreをやって、jsonでエンコードされたファイルからデータベースを読み込みます。他の誰かが何か提案をしているかどうかを確認するために、もう1日か2日は質問を開いたままにします。 – aglassman

関連する問題