Casual CI Server

Casual CI Server

at Testing Casual Talks #1
http://atnd.org/events/40914

089127ffb92a19d3d37815673cca06dc?s=128

r7kamura

July 24, 2013
Tweet

Transcript

  1. Casual CI Server -Testing Casual Talks #1- by @r7kamura IUUQXXXqJDLSDPNQIPUPTCSPPLXBSETJ[FTM

  2. 意識の高い若者の面白プロダクト枠 IUUQXXXqJDLSDPNQIPUPTCSPPLXBSETJ[FTM

  3. 自己紹介 -------------------------------------- name: Ryo Nakamura id: r7kamura blog: r7kamura.hatenablog.com at:

    COOKPAD Inc.
  4. 最近作ったもの -------------------------------------- * Chanko 2.0 - prototyping rails * Autodoc

    - auto documenting tool * Chatroid - chatter bot framework * Gig - github as a blog database
  5. 今日話すこと -------------------------------------- * あらすじ * JJeennkkiinnssと愉快な仲間達 * AAllttrriiaaつくったよ * AAllttrriiaa

    PPlluuggiinnの作り方
  6. あらすじ WWhhyy ccaassuuaall ccii sseerrvveerr??

  7. あらすじ -------------------------------------- あらゆる作業が自動化され、全ての行 動が記録・管理されるようになった時 代。自宅へと投下されるJJeennkkiinnss。だ が、その言語は人々に希望を捨てさせ た。若者の意識は、自分が彼を救おう と決心させる。果たしてカジュアルを 望む人々の物語はどこへ続くのか?

  8. Jenkins Clones JJeennkkiinnssと愉快な仲間達

  9. Jenkins Ukigumo CI Joe Cerberus Intergrity CruiseControll BuildBot Signal

  10. Jenkins 説明不要 JJaavvaa

  11. CI Joe * by defunkt * Ruby (sinatra) * multi-process

    * 2 years ago...
  12. Ukigumo * by tokuhirom * Perl (amon2) * client/server

  13. Jenkins Ukigumo CI Joe Cerberus Intergrity CruiseControll BuildBot Signal **

    JJeennkkiinnssほど高機能じゃなくて良い ** プラグインで拡張出来る機能は欲しい ** もっとカジュアルにプラグイン書きたい ** ゥチらでRRaaiillss 44盛り上げてこ㽉㽉 ↓ JJeennkkiinnss cclloonneeで一発あてるぞ
  14. Altria Alternative Ruby Integration Application github.com/r7kamura/altria IUUQXXXqJDLSDPNQIPUPTCSPPLXBSETJ[FTM

  15. Altria Summary ------------------------------------------ * Server + Worker + Cron *

    Rails 4, Redis, MySQL * HTML view + JSON REST API * Plugin as a gem IUUQXXXqJDLSDPNQIPUPTCSPPLXBSETJ[FTM
  16. Server Worker Queue DB Cron User Altria

  17. Server Worker Queue DB Cron User Altria Rails4

  18. Server Worker Queue DB Cron User Altria Redis

  19. Server Worker Queue DB Cron User Altria MySQL

  20. Server Worker Queue DB Cron User Altria jobs builds

  21. Server Worker Queue DB Cron User Altria 1. HTML 2.

    JSON 3. Streaming
  22. Server Worker Queue DB Cron User Altria

  23. Plugins ------------------------------------------------- * Using Rails’ plugin system * Every plugin

    is a gem * Modify Gemfile to add plugins # Gemfile gem "altria-git", git: "git@github.com:..." gem "altria-pipeline", git: "git@github.com:..."
  24. # δϣϒͷઃఆ߲໨Λ௥Ճ Job.property(:next_job_id) # Ϗϧυ׬ྃޙʹϑοΫ Job.after_execute do Job.find(next_job_id).enqueue end Example1:

    Build Pipeline Plugin
  25. Example2: Processing Time Plugin # viewͷϑοΫՕॴʹHTMLΛຒΊࠐΉ JobsController.before_filter only: :show do

    view_context.content_for :jobs_show do render_to_string(partial: "chart").html_safe end end # jobs/_chart.html.slim - άϥϑඳը༻HTML&JS = line_chart @resource.builds.limit(100)
  26. Other examples * altria-pipeline * altria-processing_time * altria-simple_cov * altria-git

    * altria-authentication * ...
  27. 今回話さなかったこと * RRaaiillss44での実装の長所短所 * 運用事例 ((自宅のBBOOTTと連携等)) * 他のCCIIアプリと比べたときの位置付け * 今後追加予定の機能

    IUUQXXXqJDLSDPNQIPUPTCSPPLXBSETJ[FTM
  28. まとめ * AAllttrriiaaというCCII SSeerrvveerrを作りました * 普通のWWeebbアプリと同じように作れるよ * カジュアルにプラグインが書けるよ * 機能要望

    && 開発者を募集しています IUUQXXXqJDLSDPNQIPUPTCSPPLXBSETJ[FTM
  29. IUUQXXXqJDLSDPNQIPUPTCSPPLXBSETJ[FTM ご静聴ありがとうございました ((質問・要望は@@rr77kkaammuurraaまで)) github.com/r7kamura/altria