GemoireというYARDホスティングアプリを作った #shibuyarb

16
Copyright Drecom Co., Ltd. All Rights Reserved. GemoireというYARDホスティング アプリを作った @sue445 2014/10/15 Shibuya.rb

description

渋谷.rb[:20141015] の発表資料です http://shibuyarb.doorkeeper.jp/events/15950

Transcript of GemoireというYARDホスティングアプリを作った #shibuyarb

Page 1: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

GemoireというYARDホスティングアプリを作った

@sue4452014/10/15 Shibuya.rb

Page 2: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

sue445

● drecom○ 社内ツールとか社内ライブラリとか

● RubyKaja● TDDマニアなキュアエンジニア

自己紹介

Page 3: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

今期の嫁:キュアハニー

Page 4: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

本妻:キュアピース

Page 5: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

● 作った背景● アプリの紹介

Agenda

Page 6: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

作った背景

Page 7: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

● 弊社はカジュアルに社内gemが作られる文化○ http://rubykaigi.org/2014/presentation/S-

TakumiMiura○ 社内gem100個くらい

● 手軽に社内gemのドキュメントを公開できる場所が欲しかった○ RubyDoc.info( http://rubydoc.info/ )の社内版みたいな

もの

作った背景

gitのパスを入力するだけでドキュメントを公開できる

Page 8: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

ないなら作ろう

Page 9: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

● アプリごとに野良Jenkinsが乱立してるので全社展開しづらい○ どのアプリにも属さないgemのライブラリを公開するには

向いてない● ドキュメント作るだけでJenkins使うのは大げさ

○ 個別にジョブの設定するのが手間● ドキュメント生成のためだけにgemのdependencyにyardを

追加するのも違和感がある

Jenkinsでいいじゃん?

Page 10: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

アプリの紹介

Page 11: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

Gemoire(ジェモワール)

https://github.com/sue445/gemoire

http://gemoire.herokuapp.com/

アプリの紹介

Page 12: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

全体像

Gemoire

YARDdoc

1. push 2. webhook

3. clone

5. browsing

4. generate

Page 13: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

Gemoire

gitのパスを入力するだけでドキュメントを公開できる

Page 14: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

● 名前の由来はGem + Grimoire(魔導書) ○ gemの取扱説明書を集めた的な感じ○ ジェム + グリモワール = ジェモワール

● gemのYARDドキュメントを手軽に公開するためのアプリ● gitのURL登録するだけで勝手にドキュメント生成● Ruby 2.1.3 + Padrino 0.12.3 + activerecord 4.1.6 辺り

○ 初めてPardinoでアプリを作りきったw● Heroku deploy buttonが便利なのでherokuにもデプロイしてる

けど、サーバにcloneして使うことを想定

Gemoire

Page 15: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

● ホスティングサイトに依存しているのはwebhookだけなので、git cloneできるURLであれば全部使える○ http://〜.git○ https://〜.git ○ git://〜.git○ ssh://〜.git (別途公開鍵の登録が必要)

● DBはMySQL, PostgreSQL, sqlite3に対応● git cloneしてドキュメント生成するのはsidekiq使って非同期

実行

細かい仕様

Page 16: GemoireというYARDホスティングアプリを作った #shibuyarb

Copyright Drecom Co., Ltd. All Rights Reserved.

● Githubエコシステムを活用したイマドキの趣味開発○ http://sue445.hatenablog.

com/entry/2014/09/24/200624● GemoireというYARDホスティングアプリを作りました

○ http://sue445.hatenablog.com/entry/2014/09/29/115504

参考リンク