私たちはGit/Githubで自動デプロイメント環境をセットアップしようとしています。私たちは3つの異なる環境を持っています。ローカル、テスト、ライブ。ローカルに新しい機能を追加するときは、最初にテストサーバーにファイルをアップロードして、新しく作成された機能をテストします。すべてが正常であれば、すべてのファイルをライブサーバーにアップロードします。しかし、この「アップロード」プロセスは完璧な解決策ではありません。ファイルをアップロードすることを忘れることがあります。私たちはまた、iPhoneとAndroid上にモバイルアプリを持っているので、モバイルは私たちにとって4番目の環境かもしれません。Git/Githubでデプロイ
私たちがしようとするのは、自動デプロイメント環境をセットアップすることです。新しい機能をテストサーバーにコミットすると、この新しい機能をテストした後、ライブサーバーにプッシュする必要があります。
テストサーバーには多くのコミットがありますが、特定のコミットをライブサーバーにプッシュする必要があります。我々は3-4環境に対処する方法を見つけることができず、コードを混乱させることもありませんでした。ライブサーバーに正しいコードをどのようにプッシュしますか?テストサーバーとライブサーバーはどのように管理しますか? Git/Githubを使って異なる環境やデプロイメントプロセスを設定する方法を教えてくれる良い資料はありますか?ステップバイステップで何をするか教えてくれる記事がありますか?
私はこれらの記事を読んだことがありますが、ローカル、テスト、およびライブ環境に対処する方法は教えていません。
EDIT 2012-03-09:私はhttp://beanstalkapp.com/とhttp://springloops.comを見つけたし、彼らは両方の展開に非常に優れているようです。私はそれらのサービスを信頼できるかどうかはわかりませんが、どちらもまさに私が望むものです。私は両方をテストし、結果をここに分けてみんなに知らせる。
Gitはデプロイメントツールではありません。この目標にはるかに適したツールがあります。あなたができることはそれらを一緒に組み合わせることです。 – Ikke
私はGitがデプロイメントツールではないことを知っていますが、デベロッパーのように多くのデベロッパーがGit *を使用しています。私たちはGithubを使ってコードを保存するので、Git/Githubをデプロイメントツールとして使用することは素晴らしいと思いました。 –
この質問は理想的に[サーバー障害](http://serverfault.com)に適しています - 例えば[this](http://serverfault.com/q/142729/105371)質問)。 –