absj31この広告は、90日以上更新していないブログに表示しています。「CI(継続的インテグレーション)超入門」を開催致します。「CIってどうなの?」「そもそもCIって何?」的な方をメインターゲットとし、CIに興味はあるんだけど、導入はまだちょっと。いうような方に向けてその有用性やメリット及び考慮点等を、Jenkins(Hudson)作者である川口氏自身をはじめとして業界トップエンジニアの口から語って頂くイベントです。先週末の連休で開催された『Jenkins温泉』に始まった"川口さん来日ツアー"におけるイベントの中の1つ、『CI超入門:Jenkinsのススメ』に参加してきました。トレーニングルーム@西新宿。現場から大江戸線を使って都庁前迄来たのでそこまで混乱は無かったですが、JRではちょうど夕方のラッシュ時にアクシデントで運行止まると言ったトラブルがあったようで、今回の勉強会にも数人リア上が遅れた方も居りました。はじめに豆蔵関連のイベント及び今回の勉強会に関する諸連絡。関連する以下のURL情報が告知されました。津田義史氏ソフトウェアのビルドに関する基本的な知識を導入します。Programingのプラクティスの1つ良い事を継続的に続けよう、という趣旨CIの説明としては不正確?XPよりずっと以前からあるもの。Test"デイリービルドをプロジェクトの心拍とすべし。心拍のないプロジェクトは死んでいる。Softwareデイリービルドはあなたのおともだち。自動化された、毎日おこなわれる、完全なソースツリー全体のビルドである。ビルドって何?1.実行可能なソフトウェアの事(名詞)2.実行可能なソフトウェアを構築すること(動詞)ビルドをビルドする料理を料理する料理をビルドするお料理をお客様にお届けするときに大切な事は?おいしい料理をお届け品数の多い料理をお届け食べやすいお料理をお届けバグが入ってないお料理をお届け:いつも同じお料理をお届け再現可能なビルドいつダレガビルドしても同じ結果ユーザにお届けしたものをあとで自社内で構築しなおせるビルドの再現可能性を確保する料理を再現するために必要なものは?お料理の材料。お料理の厨房と調理器具。ビルドに置き換えると?ビルドの材料ソースビルドのレシピビルド手順書ビルドスクリプトビルドの厨房と調理器具ビルドマシンコンパイラビルドツールビルドの厨房:ビルドマシンリポジトリビルドマシンサンドボックス清潔な厨房で料理する不衛生なサンドボックスでのビルドでは再現性を確保出来ない統合ビルドは、必ず清潔なビルドマシンで。CIと自動化されたテストによるフィードバック・サイクルリポジトリ(↓更新)ビルドマシン(↓フィードバック)サンドボックス(↓コミット)リポジトリ::ビルドのレシピソース/コンパイル/中間ファイル依存関係があり、正しい順序でビルドを行う必要がある。実際のビルドはかなり複雑。Davidson氏がTomcat専用のビルドツールをJavaで開発した分離、Ant1.1へ。本質的には複雑で壊れやすいもの。いつ壊れるか:コミット時に壊れる。誰かが変なコミットをしてSCMの頻繁なコミットはあまり...リポジトリの中の一貫した構造を壊さないような仕組。train,今朝のデイリートレインが止まっているようだけど...ビルドの日時(時刻表)を計画するビルドの開始時刻は厳守!ビルドの成果物が複数あるなら、ビルド終了時刻を同期!駆け込み乗車をしない!機能を載せることが出来なければ、次のリリーストレインに載せるまとめCIはプログラマの良きプラクティス(習慣)ではなく、開発プロセスの一部であるCIは、ソフトウェア開発プロジェクトが投資すべき対象である本を書いている。256ページオーム出版Jenkins本は今後2冊刊行予定ですが、こちらでも書籍が発売になるようですね。Kawaguchi(TwitterID:@kohsukekawa)さんCIとは何か、Jenkinsで何ができるのかについて、初歩の初歩からお伝えします。本日のメインイベント的な講演。これまでJenkins勉強会で何度か講演を拝見していますが、今回はより初歩的・基礎的な部分に絞っての内容となっておりました。頻繁にコミットなどを行い、退行をすぐに検出。利点:属人性を減らす以前はこうした知識は特定個人の頭の中にあったJenkinsがあればその人が休暇を取っても大丈夫チームに新しい人が来たときに便利よそのチームに臨時に助っ人する場合も利点:追跡可能性このバイナリはどこから来たの?ブランチ、リビジョン、タグ等どのテストが実行されたのか?結果は?あるチケットにはこのバグ修正は含まれているのか?退行の原因分析の手助けに曖昧性を排除出来る。自動化が進んだ未来の希望図より巨大なオートメーションを自動化し、人間にしか出来ない事に注力するように...そこでjenkinsJavaで書かれたOSSのCIサーバ。世界インストール実績MAP様々な場所/様々な企業で利用されている。各作業でエラーしたときの対応、等。ビルドの自動化/テストの自動化が多い。そんなのはホンの入り口。無かったら書こう全部自動化しなくてもいいコンポーネントを1つずつ繰り返す自動化の島を組み合わせて大陸にデモ実演については流れるような操作で簡単なプロジェクトにおける諸作業を行っておりました。Virtualize』というものだったのですが、発売前の商品らしいのでここでは詳細は割愛(笑)もう1つは『Coverity』という製品。詳細は以下の製品ページからどうぞ。Coverityこちらの製品には川口さん(の所属する会社)も絡んでいたらしく、当日事情により来られなかった担当の方に替わり、簡単に製品紹介等をされていました。(でも何故にちびまる子ちゃん...?ww)5.ディスカッション最後にディスカッションのコーナーが設けられ、今回登壇された講師の方々との質疑応答へ。印象に残ったもののみメモしてあります。その他の内容及び詳細はエントリ末尾のTogetterをご参照下さい。川口さんのコメント:自分が使っていると周りの同僚が、チームのみんなが使っていく導入は大きな障害。マネージャーはその動き、力学を察知して動く事でメリットが得られる。CIやってないひと:何が障害?自分の作業が楽になるなら、それでも良いのでは?チームが乗って来ないのは残念でもある自分が嬉しい、という仕組みチェックイン担当になる使ってるけど継続出来てない。次のステップは?テストを書く。テストを書かなくても実行出来るものを取り入れてみる。(findbugsとかもそう)ビルドの他に退屈な提携作業等を自動化しても良い。ファイルの配置など)一番つまらないものから自動化。テストを書くメリットを言えるかどうかテスト=シートベルト、安心感。勇気を持って一歩踏み出せる。テストで品質を作る事は出来ない。テストは開発者がバグのないプログラムを作るためのものCIビルドとリリースビルドはきっちり分けよう。タイトルに『超入門』とあるように、内容的には初心者向けのものでしたが改めてCIの重要性を認識する事が出来たイベントでした。勉強会終了後には顔馴染みの参加者数名で新宿駅近辺でオムライスを食べながら軽く懇親。TwitterTL上でやり取りはあったもののリアルにお会い出来てなかった(ニアミスは幾つかあったが)risk(TwitterID:@riskrisk)さんとご対面。Tokyo絡みで3連戦に近いスケジュールと、またもやハードな日程になりつつあります。当然ながら通常業務も抱えつつなので、上手く時間を調整し、体力ペースも考えて乗り切っていこうと思います。(2013年08月〜12月)月別アーカイブはてなブログをはじめよう!absj31さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。