0

私はプログラマーで、近い将来、いくつかのプロジェクトで Web/テンプレート デザイナーと協力する予定です。私の開発ワークフロー設定についてどう思いますか? 最適化のヒントはありますか?

1 つの特定のプロジェクトのセットアップ

  • プロジェクト全体は github でホストされています。
  • このプロジェクトは、Linux OS 上で実行される複雑な Web アプリケーションです (Windows でも Mac でも、ローカルの開発サーバー上で実行することは不可能です)。
  • dev と master の 2 つのブランチがあります。dev はテスト サーバーで、master は本稼動サーバーです。
  • メインの github リポジトリのほかに、デザイナーのコンピューターにローカル リポジトリが 1 つ、私のコンピューターに 1 つ、テスト サーバーに 1 つ、運用サーバーに 1 つ存在します。
  • ローカルで (Windows 上で) 開発しています。開発中は、FTP 経由で編集したすべてのファイルをテスト サーバーに自動的にアップロードする自動同期スクリプトがあるため、変更が機能するかどうかをすぐに確認できます。
  • デザイナーはローカルで (Mac 上で) 開発も行います。また、すべての変更を FTP 経由でテストサーバーに自動的にアップロードする自動同期スクリプトも持っていますが、すべてのテンプレートと静的ファイルが保存されている特別な「レイアウト」ディレクトリにアクセスするだけです。 (画像、css、js、...)が配置されています。また、変更や新機能が機能するかどうかを数分ごとに確認する必要もあります。
  • デザイナーまたは私がテストサーバーで新しい機能を正常に完了してテストしたときはいつでも、変更をローカルの開発ブランチから github のリモートの開発ブランチにプッシュします。テストサーバーは今のところ git に触れていません。
  • 毎日午前中に、testserver ディレクトリ全体を削除し、github でホストされているリモート リポジトリの dev-branch の「git clone」を実行する cron ジョブがあります。そうすれば、テストサーバーにはすべての新しいコミットがあります。
  • デザイナーと私は、さらなる開発を行う前に、毎朝、リモートの github リポジトリを使用してお互いの最新の更新を「git pull」する必要があります。
  • テストサーバーで機能がうまく動作したらすぐに、「dev」ブランチを「master」にマージし、master を github にコミットします。
  • 次に、master ブランチを github から運用サーバーにプルするデプロイがあります。

質問

プロジェクトメンバーごとにローカル開発サーバーを使用できない状況を一般的にどのように処理しますか (アプリケーションをローカルで実行できないため)。誰もが ftp 経由でファイルをアップロードして試してみることができる 1 つのテストサーバーを用意するのは、本当にプロらしくないように思えます。ローカル テスト サーバーがない場合にチームで開発する方法のベスト プラクティスの例はありますか?

助けてくれてありがとう、そして私の母国語ではない私の英語について申し訳ありません.

4

2 に答える 2

1

Git は分散型バージョン管理システムであるため、プロジェクトに取り組んでいる全員が作業できる独自の開発環境を持っている場合に最適に機能します。個人的には、単一のサーバーでアプリを実際にテストするプロジェクトに Git を使用することはお勧めしません。Subversionのような集中型のバージョン管理システムを使用することをお勧めします。残念ながら、Subversion を使用すると、Github でリポジトリをホストできなくなります (少し複雑になる Git-SVN のようなシステムを使用する必要があります)。

于 2013-05-21T12:07:59.973 に答える