3

Stack OverFlow の皆さん、こんにちは。3 か月前、私は Web 開発や Python について何も知りませんでした。そして一昨日、私は最初の Django Web サイトを立ち上げました :) www.gccfishing.com

これは私がウェブサイトを展開した方法です:

  1. 自宅のデスクトップでプロジェクトを開発しました。
  2. Github リポジトリを作成し、そこにアップロードしました。
  3. Webfaction サーバーで、レポを複製し、プロジェクトを実行するようにサーバーを構成しました。

すべて問題なく、人々はそれを使い始めましたが、私は問題に直面しています。サーバー上のプロジェクトに変更を加える効率的な方法がわかりません。

昨日から、ssh を介してサーバー上で vim のプロジェクト コードを直接調整しています。

また、自宅のデスクトップでプロジェクトの開発コピーを微調整しています。

そのため、現在、私のホーム デスクトップ、Github リポジトリ、および webfaction サーバーのコードはわずかに異なります。

この場合、プロジェクトの 1 つのコピー (サーバー コピー) を使用して作業するための最良の解決策は何ですか? 私のワークフローは、自宅のデスクトップで開発し、サーバーにアップロードするだけです。

私は理にかなっていますか?

プロジェクトのサーバー コピーを更新する最良の方法は何ですか? 何か考え/推奨事項はありますか?

4

2 に答える 2

4

そうですね、まずはおめでとうと言わせてください。これはかなりクールな最初のプロジェクトだと思います。途中でたくさんのことを学んだはずです。

あなたの質問は、「本番アプリケーションを維持するにはどうすればよいですか」のようなものです。それについてグーグルで検索すると(最後にdjangoを追加して)、たくさんの素晴らしい答えが得られると思います。

より具体的には、展開についての質問です。

この場合、ラップトップでのみ変更を加えたいと考えています。それらをローカルでテストしてから、github にコミットします。

ボックスから ssh を実行したら、git pull を実行して Web サーバーを再起動します。

そうは言っても、展開とメンテナンスを管理するには、"fabric" http://fabric.readthedocs.org/en/1.3.3/index.htmlと呼ばれる Python パッケージを参照することをお勧めします。

ラーニング ファブリックは、ツールセットに加えることもできます。

また、新しい機能を開発する際に、サーバーが開発の背後または別のブランチにあっても問題ありません。しかし、サーバーを先に進めたくありません。サーバーから github に加えた変更をコミットしてから、それらをローカルにプルして、全員が同期するようにする必要があります。

于 2013-11-11T16:20:26.787 に答える
2

最初のプロジェクトおめでとうございます。使用するツールの素晴らしい選択です:-)

このブログ シリーズは、ファブリックを使用して展開するのに役立ちます (特にパート 5)。

http://www.abidibo.net/blog/2012/04/30/deploy-django-applications-nginx-uwsgi-virtualenv-south-git-and-fabric-part-1/

また、これも素晴らしいリソースとして見たいと思うかもしれません:

http://www.jeffknupp.com/blog/2012/10/24/starting-a-django-14-project-the-right-way/

于 2013-11-12T05:28:53.217 に答える