私が働いている会社ではSVNを使用しています。 SVNリポジトリはローカルサーバーにあります。開発時に、ローカルサーバー上のSVNへの変更をコミットします ftp経由で変更を転送します テストサイトのリモートテストサーバーに。チーム全体が同じテストサイトを使用します。ローカルマシンで何もセットアップする必要がないように、リモートテストサーバーを使用します。開発者Aがローカルマシン上の開発者Bの変更を確認したい場合は、作業コピーを更新するだけです。
ほとんどの場合、このアプローチには非常に満足しています。
私たちを悩ませているのは:
Githubを使用してリポジトリをホストする場合、ワークフローは可能ですか?これらのことは私たちにとって重要です:
Jenkins(以前はHudsonでした)を探してみましたか?
ローカルのJenkinsと、svnのローカルコピーを更新したばかりの外部テストサーバーにリモートのJenkinsスレーブをセットアップし、すべて(ant + javac + stuff)をコンパイルし、すべてをデプロイし、再起動するという、いくつかの良い経験がありました。 JBossインスタンス。
すべて外部テストサーバー上にあります。
先月、SVNからGitに移行しました。 (ところで、私たちはそれが大好きです)Jenkinsは素晴らしいアイデアですが、かなり基本的なこともできます。テスト/夜間環境でgitクローンを設定し、ソース管理からcronジョブを頻繁にプルします。 cronスクリプトは、gitからの単純な1行のプルです。これはリポジトリのクローンであるため、更新をプルするだけで、ブランチを切り替えてさまざまなことをテストできます。
現在、独自の安全なgitサーバーをセットアップするのではなく、有料の安全なgithubアカウントを使用しています。価格もリーズナブルで、とてもうまくいっています。