Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07

2,089 views

Published on

TokyuRuby会議07 LTで使った資料です。 #tqrk07
Rubyでも今すぐ始められるCI How-to & Tips
というタイトルで、5分で収まる程度のRuby x CIに関するすごく浅めな情報共有的な資料です。

Published in: Internet
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,089
On SlideShare
0
From Embeds
0
Number of Embeds
713
Actions
Shares
0
Downloads
7
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07

  1. 1. [Confidential] © 2013 Actcat, Inc. 2014/03/30 Actcat, Inc. Rubyでも今すぐ始められるCI How-to & Tips
  2. 2. [Confidential] © 2013 Actcat, Inc. 軽く自己紹介 あくときゃっと の すみ です n そろそろ2年スタートアップやってる   エンジニアですm(_  _)m   n エンジニアの開発効率改善サービスの開発 に注力してます(いわゆるCI)   n Twitter:  @sumyapp 2
  3. 3. [Confidential] © 2013 Actcat, Inc. たまにブログで炎上してお騒がせしてます 3 「Ruby  on  Railsを勉強するな!」   というタイトルで、   炎上したりしてます。。。   Matzさんにリツイート頂いたり
  4. 4. [Confidential] © 2013 Actcat, Inc. 最近はCIネタのブログも始めました sideci.hatenablog.com 4 Matzさんにリツイート頂いたり
  5. 5. [Confidential] © 2013 Actcat, Inc. 5 RUBYでも今すぐ始められるCI HOW-TO & TIPS
  6. 6. [Confidential] © 2013 Actcat, Inc. そもそもCIって何…? n というのは省略。   n ざっくりと、   軽めにすぐに出来そうな、   コードの品質をちょっとよくしたり、   開発効率を上げたりなTipsを紹介します。   n ざっくりなので内容は浅いです 6
  7. 7. [Confidential] © 2013 Actcat, Inc. 1人で開発している人でもだれでも、 今すぐ始められるCI Tips 10選 1.  テストを書こうよ!RSpecとCucumber   2.  静的解析ツールやSImpleCovなどを一括実 行、なんでも分かるmetric_fu   3.  コードに規律を!RuboCop   4.  ちょっと賢くRailsのコード書いてみたい、   rails-­‐bestpractices.com   5.  毎朝コツコツbundle  outdated  と  bundle   update 7
  8. 8. [Confidential] © 2013 Actcat, Inc. 6.  コードはなるべく書かない!みんな大好き www.ruby-­‐toolbox.com   7.  まずはエディタをいい感じにしよう!   SublimeText  vs  Vim(Rubymine,Emacs,etc…)   8.  友達かチームかコラボレーターがいるなら コードレビューしてもらおう、GitHub   9.  「パーフェクトRuby」か「メタプログラミ ングRuby」を読み始めて魔術使いになろう   10. クローズドβ中のSideCIを宣伝   8
  9. 9. [Confidential] © 2013 Actcat, Inc. テストを書こうよ!RSpec 9 http://rspec.info/ こんな感じのコードに対して こんな感じにテストコードを書く
  10. 10. [Confidential] © 2013 Actcat, Inc. テストを書こうよ!RSpec 10 http://rspec.info/ テスト通った!
  11. 11. [Confidential] © 2013 Actcat, Inc. テストを書こうよ!RSpec 11 http://rspec.info/ Specファイルに書いた内容のテスト当然落ちる! 実装してなかったり、バグが有ったりすると
  12. 12. [Confidential] © 2013 Actcat, Inc. 使っている人はそこまで多くないけど、 有名だよね、Cucumber 12 http://cukes.info/ ∼という状況が与えられているとき(Given)、誰かが 何かをしたら(When)、こうなるはず(Then)   みたいに英語でFeature全体のテストを書ける
  13. 13. [Confidential] © 2013 Actcat, Inc. 書いたらRunするとFailかPassしてくれる 13 http://cukes.info/
  14. 14. [Confidential] © 2013 Actcat, Inc. RSpecとCucumber両方載ってる、 『The RSpec Book』 14
  15. 15. [Confidential] © 2013 Actcat, Inc. 静的解析ツールやSImpleCovなどを一括実 行、なんでも分かるmetric_fu n $  gem  install  metric_fu   n $  metric_fu   n で動いてくれたはずなんだけど、昨日適当 にためそうとしたらREEKでコケたので、   とりあえずご紹介だけ。   n 色々な解析ツールを一括実行、数値やグラ フ化して表示してくれるgemです 15
  16. 16. [Confidential] © 2013 Actcat, Inc. 16 http://d.hatena.ne.jp/tbpg/20130813/1376412269
  17. 17. [Confidential] © 2013 Actcat, Inc. コードに規律を!RuboCop n $  gem  install  rubocop   n $  rubocop   =>  色々お叱りを頂けます 17 http://d.hatena.ne.jp/tbpg/20130813/1376412269
  18. 18. [Confidential] © 2013 Actcat, Inc. 日本語書くだけで怒られる、厳しい警官 18
  19. 19. [Confidential] © 2013 Actcat, Inc. ちょっと賢くRailsのコード書いてみたい、 rails-bestpractices.com n RailsでのBestなPracticeを投票しあう、   コミュニティサイト   n Whitespaceは削除しようぜ、   みたいな小さなことから、   n DRYなdatabase.ymlの書き方、のような、   勉強になる(けど小さいけど…)なことまで、   色々載ってるベストプラクティス集サイト 19
  20. 20. [Confidential] © 2013 Actcat, Inc. 20
  21. 21. [Confidential] © 2013 Actcat, Inc. rails_best_practiceというgemもある n さっきのmetric_fuでも使われてた。   n 使い方は簡単。Railsのディレクトリで   n $  gem  install  rails_best_practices   n $  rails_best_practices 21
  22. 22. [Confidential] © 2013 Actcat, Inc. 自動で実行させたいなら Guard 22 https://github.com/guard/guard
  23. 23. [Confidential] © 2013 Actcat, Inc. Guardはファイルの保存を検知して、 何かを実行したり出来る n Guardは色々な種類のgemがあるので、   わりとなんでも連動できます   n ちょっと設定ファイルとか多いので、   紹介されているQiita上の記事をぺたり     テストの自動実行あれこれ   http://qiita.com/okitan/items/ 25238a9b836c14d52cbd   23
  24. 24. [Confidential] © 2013 Actcat, Inc. 毎朝コツコツbundle outdatedと bundle update n $  bundle  outdated   n 今あるBugはGemのBugかも? n アップデート可能なGemのリストが出るの で、bundle  updateしよう!   24
  25. 25. [Confidential] © 2013 Actcat, Inc. コードはなるべく書かない!みんな大好き www.ruby-toolbox.com 25
  26. 26. [Confidential] © 2013 Actcat, Inc. 5分しか時間がないので省略… n ブログに記事書いてあるんで、興味がある 方は読んでもらえると><   http://sideci.hatenablog.com/   n コードを書かずに実装しよう、ruby-­‐ toolbox.com   http://sideci.hatenablog.com/entry/ 2014/03/25/080000 26
  27. 27. [Confidential] © 2013 Actcat, Inc. まずはエディタをいい感じにしよう! SublimeText vs Vim n 素のVimやEmacs以外ならなんでも良いと思 います、エディタ   n 素のVimとか使うと、whitespaceは入りまく るし、タブ幅はズレまくるし。。。   n トータルで最初からいい感じなSublime  Text とか、Vimをカスタマイズして使うとかする と、CIツール使うよりよっぽどお手軽にコー ドが綺麗に! 27
  28. 28. [Confidential] © 2013 Actcat, Inc. Web制作者のためのSublime Textの教科書 今すぐ最高のエディタを使いこなすプロのノウハウ 28
  29. 29. [Confidential] © 2013 Actcat, Inc. 友達かチームかコラボレーターがいるなら コードレビューしてもらおう、GitHub n プルリクエスト型開発に切り替えて、   コードレビューをお互いにするようにす ると、いい感じにお互いの知見、思考が 向上しますよ!(たぶん)   29
  30. 30. [Confidential] © 2013 Actcat, Inc. GitHub実践入門 Pull Requestによる開発の変革 30
  31. 31. [Confidential] © 2013 Actcat, Inc. 「パーフェクトRuby」と「メタプログラミ ングRuby」を読み始めて魔術使いになろう n どちらも必読本です。   もしまだ読んでない人がいたらぜひ。   n 基礎が分かっている人は   メタプログラミングRubyの方をオススメ。   可読性は高いけどコードを追うのが難し めだけど生産性高くて徹底的DRY、な魔術 的コードの読み書きに役立つ本です 31
  32. 32. [Confidential] © 2013 Actcat, Inc. 32
  33. 33. [Confidential] © 2013 Actcat, Inc. 33 さいごに10個目のTIPSな宣伝
  34. 34. [Confidential] © 2013 Actcat, Inc. クローズドβ中のSideCIを宣伝 n https://www.sideci.com/ 34
  35. 35. [Confidential] © 2013 Actcat, Inc. 35 GitHubログインでかんたん導入。   設定ファイル不要  
  36. 36. [Confidential] © 2013 Actcat, Inc. 既知のセキュリティ・ホールを検出 36 コードがプッシュされるとセキュリティ・ホールをチェック。   既知のセキュリティ・ホールを検出   セキュリティ・ホール要因のコードやCOMMITにコメント  
  37. 37. [Confidential] © 2013 Actcat, Inc. 37 コードをrails-­‐bestpractices.comのPracticeに基づきチェック   問題となる可能性が高いコードやCOMMITにコメント   例:  誰も使用していないメソッドを検出、指摘
  38. 38. [Confidential] © 2013 Actcat, Inc. 38 RubyのGemのバージョンアップをお知らせする機能追加   その他にもCIに欠かせない機能を随時アップデート!  
  39. 39. [Confidential] © 2013 Actcat, Inc. サービス利用時の流れ 39 Engineer コードの標準化 自動テスト   Coming  soon. セキュリティ保証 自動で実行、コメントで結果をお知らせ ビルド、テスト等の   CI的コマンドの実行 Githubログイン   コードをPush hook
  40. 40. [Confidential] © 2013 Actcat, Inc. 40 全ての解析結果の概要、詳細を確認できる管理画面   (GitHubやNotificationでは新しい解析結果のみをお知らせ)  
  41. 41. [Confidential] © 2013 Actcat, Inc. コードのセキュリティ n SideCIのスタッフがあなたの   コードを読むことはありません!   n 全ての接続をSSL暗号化   n 情報保護の徹底(NDA締結可)   l 解析結果など、あらゆる個人情報、機密情報を   社外には一切提出しません 41 SIdeCI 解析結果に含まれるコードスニペットは   都度異なる鍵を用いて暗号化しています。   暗号化🔒 管理画面はもちろん、SideCIを構成する複数のサーバの   全ての接続をSSLによって暗号化し、通信を行っています。   ソースコードはGithubが管理。必要なタイミングでのみ、   SideCIが暗号化して預かっているGithub  Tokenを復号、   コードをcheck  out、解析しています。  
  42. 42. [Confidential] © 2013 Actcat, Inc. Plans & Pricing 42 ü Unlimited  Private  Repository   ü Unlimited  Analysis   ü Unlimited  Collaborator   ¥0   ※有料サービスの目処が立ちましたらご連絡致します
  43. 43. [Confidential] © 2013 Actcat, Inc. 「            」 Closed  beta  version

×