バージョン管理したいPHPプロジェクトがあります。現在、3人でプロジェクトの開発バージョンに取り組んでいます。このプロジェクトは、すべてのEclipse IDEがリンクされている外部フォルダーにあり、バージョン管理はありません。
これをバージョン管理する正しい方法と最良の方法は何ですか?
SVNを設定しましたが、開発サーバーでテストできる、チェックインとチェックアウトの良い方法を見つける必要があります。何か案は?
バージョン管理したいPHPプロジェクトがあります。現在、3人でプロジェクトの開発バージョンに取り組んでいます。このプロジェクトは、すべてのEclipse IDEがリンクされている外部フォルダーにあり、バージョン管理はありません。
これをバージョン管理する正しい方法と最良の方法は何ですか?
SVNを設定しましたが、開発サーバーでテストできる、チェックインとチェックアウトの良い方法を見つける必要があります。何か案は?
私たちは同じような状況にあり、これが私たちがやったことです:
チームメンバーごとに、ワークステーションに個別の開発サーバーをセットアップすることもできます。セットアップ時間はもう少しありますが、少しスピードアップすることがわかりました。
独自のCMSを使用していて、ライセンスの問題が発生したため、単一の開発サーバーを使用する必要がありました。したがって、コミット後のフックは単純なFTPボットでした。
これが私たちが行うことです:
プロジェクトの開始時に、ユーザーはブランチを作成して個人のVMでチェックアウトし、データベースのクリーンコピーを取得します。彼らは彼らの仕事をし、彼らが行くにつれてコミットします。
自分の個人用スペースですべてを終えたら、統合サーバーにログインしてブランチをチェックアウトし、テストを実行します。ブランチを通過したものがすべてトランクにマージされます。
トランクが再構築され、テストの完全なスイートが実行され、すべてが良ければ、承認の大きな古いスタンプを取得し、SVNでタグ付けされ、夜の終わりに本番環境に昇格します。
他の誰かによるコミットが行われた場合はいつでも、電子メールを受け取り、それらの変更を個々のブランチにマージできます。
Beanstalkには、開発、ステージング、および実動サーバーにデプロイするための組み込みのコミット後のフックがあります。
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
これにより、開発サーバー上の作業コピーが最新のチェックインに更新されます。
配布されたものはどうですか?たとえば、Mercurial から始めて、さまざまなワークフローを試して、どれが最も適しているかを確認できます。
それぞれがローカルで実行することも、独自の開発サーバーで実行することもできます(または、ポートが異なる同じサーバーで実行することもできます...)。
1つの可能な方法(おそらくより良い方法があります):
あなたのそれぞれは、プロジェクトのあなた自身のチェックアウトされたバージョンを持っているべきです。
コンピューターにサーバーのローカルコピーを用意し、そこで1日中テストします。次に、毎日の終わりに(またはいつでも)、テストする準備ができているものをすべてマージし、それを開発サーバーにチェックアウトしてテストします。
ビルドに使用できるもう1つのツールは、20のビルド構成で無料のTeamCityです(ほとんどの小規模企業/プロジェクトに十分です)。このようにして、テストを実行したり、ビルドをスケジュールしたりできます。