2010-12-05 12 views
5

Webアプリケーションの継続的な展開で私をサポートするベストプラクティスとツールは何ですか?アジャイルの方法でWebアプリケーションを展開する方法

1日に何回も簡単に配置できます。

Ruby on Rails 3アプリです。私たちはGitとGithubを使います。

+0

だけで脇:RoRのは、アプリケーションの非常に高速な開発を可能にします。 admin-sectionとMarkdownのあるブログは10分で書くことができます。 –

+0

@TimeMachine - 本当ですか?今はRubyとRoRを学びたい。それについての情報はどこで入手できますか?私はMac OS Xを使っています。 – Moshe

+0

オリジナルのRoRサイトには、「20分でブログを作成する」というチュートリアルがあります。うん、20、しかし、これはRoRに慣れていない人たちのためです。 Mac OS XにはRoRがXcodeとともにインストールされています。 Xcodeがインストールされている場合は、RoRを使用できます。それ以外の場合は、Xcodeをインストールします。 –

答えて

4

私はあなたがここに機敏になろうとしていると仮定していますプラクティス

の最高のセットは何ですか。展開のベストプラクティスを導き出そうとすると少し怖いです。その点で、アジャイルチームのベストプラクティスのリストは怖いです。アジャイルを慎重に勉強した場合、チームが「ベストプラクティス」を見つけたと思われる瞬間に、チームが検査し、順応し、継続的に改善する必要があることがわかります。 、適応し、改善する。 Agile Estimating and Planningの著者Mike Cohnは、アジャイルチームが、ベストプラクティスのセットを思い付くべきではなく、検査と適応によって継続的に改善すべきであることを示唆しています。

いくつかの建設的なフィードバックをお寄せいただくために、スクラムチームが従ってきたいくつかのプラクティスをご紹介します。私たち自身が、独自の導入プロセスを調査して調整しました。デプロイメントと同様に、プラクティスのソースコードチェックに関する情報を追加します。

  • 開発者がコードをチェックインするたびに、Hudson-ciはscm poll tr​​iggerを使用して開発環境にコードを自動的にビルドし、デプロイしました。それは電子メールで成功または失敗の適切な通知を送った。

  • 毎晩自動的にHudson-ciによってトリガされた開発環境に夜間のビルドがありました。

  • Dev環境で機能が準備され、事前にテストされた後、チームのQAによってHudson-ciビルドが開始され、インテグレーションサーバに展開され、統合テストが可能になりました。統合環境は、本番環境の正確な複製でした。
  • 通常、リリースの計画に基づいてHudsonを使用してプロダクションの展開が行われました。

とWebアプリケーションの継続的な展開で私をサポートできるツールは?

いくつかのCIツールがあります。私の好きなものはハドソンシです。その他のものはContinuumとCruiseコントロールです。しかし、私はハドソンが最も汎用性が高く、使いやすいツールだと思うし、コミュニティ駆動のプラグインがあるので、git用のプラグインやレールアプリのルビーを見つけるのが非常に簡単になるでしょう。

+0

+1ハドソン推奨の場合。 – rcravens

+1

+1「アジャイルチームのベストプラクティスのリストは何でも怖い」 –

+0

あなたの素晴らしい答えをありがとう。システムがアップグレードされているとき、404の代わりに「私たちはアップグレードしています」というページが表示されるようにしたいと思います。2 Railsアプリケーションを使用する必要がありますね。 – Nerian

0

IMVU is継続的な配備のためのポスターの子どもたちは、「すぐに配備する必要があるものを壊してはいけないと確信しているならば」のルールに従って彼らを得ました。彼らは現在、プロセスの周りに非常に印象的な自動化を持っていますが、それはそのルールから始まりました。

私は、連続的な展開に役立つ成分の一部が含ま思う:

  1. は常に作業のビルドを持っています。これはコミット時の自動単体テストを実行し、失敗に直ちに応答する連続的な統合を意味します。 IMVUでビルドを中断するコミットを自動的に元に戻す限り、広範な機能テストを実施します。
  2. これはあなたが何かを壊していないという自信を与えるものです。これらのテストは遅くなる傾向がありますので、多くのマシンでテストを並行して実行する、またはSauceLabsなどのサービスを使用するなど、テスト時間を短縮する戦略が必要です。
  3. 自動配備。手動で展開しないでください。手動で設定を変更しないでください。同じテクノロジを使用してすべての環境に展開します。

継続的な展開と言うとき、ほとんどの人は人間の介入なしに自動的に生産に移行すると考えています。そのプッシュボタンの本番環境の導入を止めることはできますが、それでも多くの価値があります。我々(urbancode、メーカー:AnthillPro)は、多くの顧客がこの種の要素を適所に置くのを助けます。自動生産の展開はほとんどありませんが、自動化された導入は誰にとっても役立ちます。

JTF

関連する問題