2012/02/17 デブサミ2012【17-A-1】Jenkins #devsumiA
大規模プロジェクトのジレンマ。開発者が問題のあるコミットをする確率がいっていならプロジェクトが大きくなると頻繁にコミットに問題が含まれるようになる #devsumiA
2012-02-17 10:25:18川口「検証済みマージ。開発者はブランチにコミットし、Jenkinsはブランチをテストする。問題がなければJenkinsがtrunkにマージする。」 #devsumi #devsumiA
2012-02-17 10:26:01開発者⇒ブランチにコミット⇒Jenkinsがテスト⇒テストPass⇒Jenkinsがトランクにコミット #devsumiA
2012-02-17 10:26:13これを解決するしくみが検証済みマージ。コードをかくペースはそんなに早くないので rebase によってメインからそれほどはなれない状態になる #devsumiA
2012-02-17 10:26:46検証済みマージによって気軽にコミットできることはいいけど、その検証が十分であるかどうか、はコミットするまえに熟考しなくてはいけない、と思う #devsumiA
2012-02-17 10:28:10間違いをしても他人に影響しないので気軽にコミットできる。テストはサーバーで走る。テストは非同期で走る。 #devsumiA メンテナンスフェーズに入ったプロジェクトなどで有効。
2012-02-17 10:28:12CIのジレンマ、大規模プロジェクトのジレンマ、検証済みマージで解決。開発者がブランチにコミット、それをJenkinsがテスト、通ったものがマージされる。間違いをしても他人に影響しない、テストはサーバーで非同期に走るので直ぐ次の作業へ、待ち時間無し。 #devsumiA
2012-02-17 10:28:26検証済みマージの利点:間違っていても(=テストがコケても)他人に影響がない。テストはサーバで走る。テストは非同期(直ぐに次の作業へ行ける、待ち時間ゼロ)。 #devsumiA
2012-02-17 10:28:43ブランチしておくと、気軽にコミットできるし、他人に影響しないし、テスト結果待たずに次の作業に移れる #devsumiA
2012-02-17 10:28:50川口「検証済みマージについて。詳しくはWebDBPressに書いたので宜しくお願いします。SubversionとGitでできるようになっています。」 #devsumi #devsumiA
2012-02-17 10:29:31検証済みマージを階層化。JavaSE、NetBeans はこれに近い。実際に確かめられて有効性が認められた手法。来週の Web+DB でこれについての記事を書きました。 #devsumiA
2012-02-17 10:29:48ビルド・テストが自動化できたら、次はデプロイの自動化。まさに継続的デリバリの体現に向けた流れ #devsumiA
2012-02-17 10:30:32デプロイ前の検証。ビルドが通る≠deployできる。その前に、大掛かりなテストを(パイプラインで)行う。 #devsumiA
2012-02-17 10:31:29コンパイルが通った!=デプロイしてもよい ビルドパイプライン。 徐々に大掛かりなテストを実行。失敗したらそこでストップ。パイプラインの作り方1:ウォーターフォールモデル。ビルドパイプライン・プラグインが開発されている #devsumiA
2012-02-17 10:33:22ビルドパイプラインの説明は手前味噌だけど僕も書いた→http://t.co/PgmZ9Zx5 #devsumiA
2012-02-17 10:33:44デプロイメントの自動化、有り余る計算機のパワーの活用。コンパイルが通ったイコールデプロイしても良い、ではない。パイプラインにして徐々に大掛かりなテストを実行。ビルドパイプライン プラグインがある。 #devsumiA
2012-02-17 10:33:47