4

現在、システムには多くの依存関係があるため、アプリケーションチェーン全体をまとめて本番環境に一度にデプロイしています。

私たちのスクラムチームは、すべてのユーザーストーリーで各スプリントの最後に実際のビジネス価値を確保するためにビジネステーマに基づいているため、ユーザーストーリーをいくつかのアプリケーションで変更する必要があることがよくあります。

また、同じシステムで作業している複数のスクラムチームがあります。論理的には、大規模な受け入れと(半自動化された)回帰テストですべてを受け入れテストすることになります。

しかし、本番環境へのビッグバンの展開は非常に時間がかかり、エラーが発生しやすく、スケーラブルではなくなります...(またはそうですか?)継続的な展開により、チームが本番環境へのロールアウトをセルフサービスできるようにしたいと考えています。ビジネスは、ITスケジュールに基づくのではなく、必要なときに機能を展開します。

しかし、複数のコードベースに分散されている変更(コード、DBスクリプト)をロールアウトし、アプリケーション間の依存関係に対処するための戦略を見つけるにはどうすればよいでしょうか。

スケーラブルな継続的デプロイを実現するための戦略は何ですか?そして、どのようにこのポイントに移行しますか?

どう思いますか?

4

5 に答える 5

2

(これは、1つの大きな質問の中にかなりの数の質問があります。)

ただし、継続的デリバリーの本http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912/を参照します。

編集:(コメントしたように、あなたはすでにこの本を読んでいます)あなたがすでにしているかもしれないいくつかの提案ですが、同様の問題を抱えている他の人のために:

しかし、私はあなたが実際に求めている相互依存の自動展開戦略に対する確実な解決策を持っていません:|

于 2012-02-09T17:05:30.660 に答える
2

あなたの問題を解決する単一の特効薬はありませんが、Kwatee(http://www.kwatee.net)は正しい方向に大いに役立つことができます。Kwateeは、必要に応じて複数のサーバー上で分散/コラボレーションアプリケーションを処理し、展開前および展開後のアクションを使用して、前提条件のDBugradeスクリプトなどのトリガーを処理できます。さまざまなデプロイメント環境(dev、test、prod)のパラメーターを構成することもできます。Kwateeには構成を簡単にするWebインターフェースがありますが、継続的インテグレーションツールに(Python CLIコマンドまたはAntタスクを介して)含めることで、すべての世界を最大限に活用できます。

于 2012-02-09T17:54:22.553 に答える
0

私はここで非常によく似た質問に答えました:継続的インテグレーションとデプロイのベストプラクティス

それはチェックする価値があるかもしれません。

于 2012-02-10T04:54:37.610 に答える
0

継続的インテグレーションにはCruiseControlを使用しています。誰かがトランクに何かをチェックインするたびに、ビルドと自動回帰テストがトリガーされるように設定するのは簡単です。ビルドまたはテストが失敗した場合、最後のビルド以降にコードをコミットしたすべての開発者は、考えられる原因のリビジョンのリストが記載された電子メールを受け取ります。ビルドを破った開発者(回帰テストではありませんが)は、翌日にドーナツを持参する必要があります。

継続的インテグレーションとテストに使用する特定のツールは、言語とプラットフォームによって異なる場合がありますが、概念は同じです。http://cruisecontrol.sourceforge.net/を参照してください

それが役に立てば幸い。

于 2012-02-09T16:46:18.490 に答える
0

誤解するかもしれませんが、あなたが言っているのは、システム全体の検収試験は難しいので、各スクラムチームが自分の体重を持ち上げられるようにしたいと思いますか?各スクラムチームがいくつかのテストを実行できたとしても、リリース前にシステムテストフェーズを経ないとリリースできないと思います。つまり、システムテストは必須ですが、各コンポーネントを代替の依存関係で個別にテストできる場合は、頻度を調整できます。個別のスクラムチームが個別のテストと小規模なテストを実行できる場合、システムテストは2〜3回のスプリントごとに1回完了することができます。テスターはシステムテストに重点を置き、テスターはバグ修正に重点を置きます。

于 2012-02-11T16:29:19.463 に答える