Submit Search
Jenkins勉強会第二回
•
Download as PPTX, PDF
•
2 likes
•
1,021 views
Kohsuke Kawaguchi
Follow
第二回Jenkins勉強会でした発表です
Read less
Read more
1 of 31
Download now
Downloaded 11 times
More Related Content
Jenkins勉強会第二回
1.
Jenkins名称変更に関する経緯川口耕介
2.
Hudsonの歴史2004 個人的な余暇プロジェクトとして開始オープンソース徐々にSunの内部で使われだす2008 正式に仕事の一部になったSunでサポートなどを売り出す2010/1
OracleがSunを買収2010/4 Oracle退社
3.
余暇のプロジェクトなのか会社のものなのか情報産業の企業の雇用契約ジャイアニズムカリフォルニア州労働法2870条従業員が自分の道具で自分の時間に作ったもので、会社のビジネスと関係ないものなら、従業員のものどこまで僕個人のものでどこまで会社のものか不透明ソースコードの一部には権利がありそうだ名前は?
4.
プロジェクトの運営の実態僕個人+世界中の有志による運営会社の正式プロジェクトといっても僕一人だけSolaris, JBoss, GlassFishのようなモデルとは違うOracle退社後は、Oracle社内にはノウハウはなくなった結果、2010/4からは本当にコミュニティプロジェクトとして運営されていた
5.
導火線: インフラに関する不満2009/6 devリストでjava.netへの不満が爆発、JIRAを独自にホストする事に2010/11/1
Oracleの技術者をjava.netプロジェクト共同管理者にしてほしいとの依頼11/17 メーリングリストをGoogle Codeに移動するという提案がなされる11/22 java.netのインフラ移行に伴ってHudsonプロジェクトがロックされる
6.
「商標は我々Oracleのものである」11/23 リポジトリをGitHubへ移動する提案がなされ、広範に支持される11/29 「Hudsonの商標は我々Oracleのものであり勝手にソースコードを移動してその名前を使うことは許されない」後で分かるがこの時点では出願しただけ( ゚д゚) ポカーン
7.
この時点での心配事GitHub移行という直近の問題自立性という中長期的な問題開発者達に開発の事を決める自由自立が今後もあるのか1%以下の貢献しかしていない参加者が拒否権を持っているというのは不自然ではないか
8.
この時点でのコミュニティの反応フォークすべき派圧倒的多数派。でも、ただ血を見たい人達もOpenOffice等、他のプロジェクトの前例もあるOracleのコードの貢献は非常に少ない妥協の道を探ろう派少数派。でもプロジェクトの中核メンバーの多くフォークしてOracleが得するとは思えない。妥協の道があるはず
9.
2010/12-2011/2オフラインでOracleと交渉コミュニティの要求商標を中立の第三者組織に移管してほしい合意の形成は貢献の度合いに基づくべきで拒否権は認められない
10.
Oracleとの交渉Oracleの要求プロジェクトの統治モデルを成文化させたい最高意思決定機関として3人の役員会を作るOracleは改選なしの永久議席を持つあらゆるコミットにはレビューを必須とするコードに変更を加える提案・承認プロセスを作る
11.
交渉決裂へ交渉当事者間で信頼関係を作る事ができなかったTed Farrell という人が…コミュニティはOracleの要求を全て受け入れる準備ができていた「商標は我々Oracleのものである」
12.
2011/2 改名の提案中核メンバーの心配事交渉の経緯をみると、拒否権どころか一方的にプロジェクトの運営を変更する権限を振るうことになる今後同じ事が起こらないという保障がないHudsonという名前だけのためにそこまでするのか現行のプロジェクト運営を継続するために、名前を変えるという提案を行った
13.
2011/2 改名の投票提案内容3名の暫定役員会の選出投票ルールなどを決めて次の役員を選出するまでSoftware Freedom
Conservancyへの移管プロジェクトの資産を管理する第三者機関を選ぶ214 vs 14で改名が可決投票権のない人達の間でも広範なサポートがあったHudson->Jenkinsに名称変更
14.
改名後開発者はほとんどJenkinsへコア・プラグイン共にコアコミット 166 vs
40Oracle Hudsonのプラグインコミットはほぼ0メーリングリストの活動もJenkinsへ563 vs 5575%のユーザーは2011年中にJenkinsに移行する予定
15.
まとめプロジェクトの安定した運営を目指すために努力をしましたが、実りませんでしたHudson->Jenkinsに名前が変わりましたコードベースは同じです同じチームが引き続き開発していますこれを機により成文化された安定運営を目指す努力をしていますなのでJenkinsをよろしくお願いします
16.
Hudson->Jenkinsへのアップグレードドロップイン互換jenkins.warをhudson.warと名前を変えてdeployするだけdeb, rpmなどでは若干の作業が必要な場合も
17.
GlassFish開発におけるJenkinsに利用川口耕介
18.
背景多数のコンポーネントチームSubversion+Ant依存ライブラリはSubversionにコミットJAXPJAXBJAX-WSStAXSAAJWSITJSR-109
19.
インテグレーション問題全てのコンポーネントが同時に開発チーム間のやりとりがある下流チームのために上流に機能を追加下流で発見されたバグの修正インテグレートを効率化したい爆弾ビルドがインテグレートされないように定期的にインテグレートしたい手動インテグレートを避けたい
20.
Jenkinsによる自動インテグレーションCIビルドの下流にテストを接続したUnit testJAXBSQE testTCK
test
21.
Jenkinsによる自動インテグレーションテストにパスしたらプロモートするPromoted-buildsプラグインUnit testJAXBSQE testTCK
test
22.
Jenkinsによる自動インテグレーションプロモートされたら結合テストをする候補ビルドと下流の最新版とを合わせてビルド・テストする --- “bleeding
edge test”JAX-WSソースコードをチェックアウトビルド前にlib内のjarを候補で上書き<get>タスクを使っていたが、今ならcopy artifact pluginそのままビルドしてJAX-WSのテストを走らせる
23.
Jenkinsによる自動インテグレーション全部のテストを走らせるのは面倒なので一部だけUnit testJAXBSQE testTCK
testBleeding edgeJAX-WS RIJAX-WS RIunit test
24.
Jenkinsによる自動インテグレーションテストがパスしたら再プロモートUnit testJAXBSQE testTCK
testBleeding edgeJAX-WS RIJAX-WS RIunit test
25.
Jenkinsによる自動インテグレーション再プロモートされたら下流のSubversionリポジトリに自動コミットAntタスクどのpermalinkをダウンロードするかパラメタ化download-jaxb-jenkins taskcommit-jaxbtask
26.
恩恵インテグレーション後の障害が減った問題があるビルドはインテグレーションされないようになっているどのビルドがインテグレートされたか記録が残る個人のlaptopでビルドされた野良ビルドはないfire-and-forget上流開発者はバグ修正をコミットしたら次の仕事に掛かれる
27.
改善すべき点インテグレーションが長い間失敗しても通知が上がらないダイヤモンド依存関係問題
28.
Jenkins浸透作戦より多くの人に使ってもうらにはどうするか特に部署を超えてトップダウンだとうまくいかなかった相手が防衛的になりがち説得する相手が増える高尾山に登る代わりに富士登山になってしまう
29.
ボトムアップ作戦誰でも自由に使えるようにした計算機は出してもらった実際に手を動かしている人に見せる自分がやったものを見せる導入も手伝ってあげる既成事実を先に作る
30.
ボトムアップ作戦チームからチームへと口伝てに広がっていくでも手助けしてあげないとやはり普及は遅いある程度利用が大きくなるとマネージャにも話が通りやすくなるこの時点で自立を促すその担当者が仲間になる学習意欲の高い若者を丁稚として使う
31.
まとめ千里の道も一歩から徐々に自動化を進めていく大きな挑戦をしないビルドは本業ではないので仲間を増やす大規模自動化の事例紹介ビルドやテストだけ自動化して満足していませんか?
Download