36

バージョン管理したいPHPプロジェクトがあります。現在、3人でプロジェクトの開発バージョンに取り組んでいます。このプロジェクトは、すべてのEclipse IDEがリンクされている外部フォルダーにあり、バージョン管理はありません。

これをバージョン管理する正しい方法と最良の方法は何ですか?

SVNを設定しましたが、開発サーバーでテストできる、チェックインとチェックアウトの良い方法を見つける必要があります。何か案は?

4

8 に答える 8

27

私たちは同じような状況にあり、これが私たちがやったことです:

  • リリースブランチと開発ブランチの2つのブランチを設定します。
  • 開発ブランチの場合は、リポジトリを開発サーバーにデプロイするコミット後フックを含めて、テストできるようにします。
  • 準備ができたら、変更をリリースブランチにマージします。また、そこにデプロイするためにコミット後のフックを配置することをお勧めします。

チームメンバーごとに、ワークステーションに個別の開発サーバーをセットアップすることもできます。セットアップ時間はもう少しありますが、少しスピードアップすることがわかりました。

独自のCMSを使用していて、ライセンスの問題が発生したため、単一の開発サーバーを使用する必要がありました。したがって、コミット後のフックは単純なFTPボットでした。

于 2008-08-07T16:56:03.330 に答える
5

これが私たちが行うことです:

  • 各開発者には、統合サーバーのように構成されたVMがあります
  • 統合サーバーには、トランク、各ユーザー用のスペース、およびブランチ用のいくつかのスロットがあります。
  • 本番サーバー
  • コミットが行われると、フックは電子メールにSubversionになります

プロジェクトの開始時に、ユーザーはブランチを作成して個人のVMでチェックアウトし、データベースのクリーンコピーを取得します。彼らは彼らの仕事をし、彼らが行くにつれてコミットします。

自分の個人用スペースですべてを終えたら、統合サーバーにログインしてブランチをチェックアウトし、テストを実行します。ブランチを通過したものがすべてトランクにマージされます。

トランクが再構築され、テストの完全なスイートが実行され、すべてが良ければ、承認の大きな古いスタンプを取得し、SVNでタグ付けされ、夜の終わりに本番環境に昇格します。

他の誰かによるコミットが行われた場合はいつでも、電子メールを受け取り、それらの変更を個々のブランチにマージできます。

于 2008-08-07T21:15:48.067 に答える
3

Beanstalkには、開発、ステージング、および実動サーバーにデプロイするための組み込みのコミット後のフックがあります。

于 2008-08-08T18:17:23.550 に答える
2

PHP開発にSubversionを使用する1つの方法は、1人または3人の開発者全員のリポジトリをセットアップし、このリポジトリを実際のバージョン管理よりも同期ツールとして使用することです。

あなたは出来る、

  • リポジトリを作成する

  • プロジェクトのPHPドキュメント構造全体を追加します

  • このリポジトリのコピーを開発サーバーの正しい場所にチェックアウトします

  • コミット時にアクティブになるsvnフックを使用します

このフックは、チームの誰かがコードをチェックインするたびに、開発サーバーの内容を自動的に更新します。

フックは次の場所にあります。

svn_dir / repo_name / hooks / post-commit

そして、次のようになります。

/ usr / bin / svn up / path_to / webroot --username svn_user --password svn_pass

これにより、開発サーバー上の作業コピーが最新のチェックインに更新されます。

于 2008-08-07T17:04:14.220 に答える
2

配布されたものはどうですか?たとえば、Mercurial から始めて、さまざまなワークフローを試して、どれが最も適しているかを確認できます。

于 2010-03-17T21:09:37.787 に答える
0

それぞれがローカルで実行することも、独自の開発サーバーで実行することもできます(または、ポートが異なる同じサーバーで実行することもできます...)。

于 2008-08-07T16:49:36.870 に答える
0

1つの可能な方法(おそらくより良い方法があります):

あなたのそれぞれは、プロジェクトのあなた自身のチェックアウトされたバージョンを持っているべきです。

コンピューターにサーバーのローカルコピーを用意し、そこで1日中テストします。次に、毎日の終わりに(またはいつでも)、テストする準備ができているものをすべてマージし、それを開発サーバーにチェックアウトしてテストします。

于 2008-08-07T16:57:58.960 に答える
0

ビルドに使用できるもう1つのツールは、20のビルド構成で無料のTeamCityです(ほとんどの小規模企業/プロジェクトに十分です)。このようにして、テストを実行したり、ビルドをスケジュールしたりできます。

于 2008-09-19T09:18:51.807 に答える