112
CPAN Testers Report の情報を上手に使う Hachioji.pm @moznion

YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

  • Upload
    moznion

  • View
    2.591

  • Download
    1

Embed Size (px)

DESCRIPTION

YAPC::Asia 2013 向けのトーク資料です

Citation preview

Page 1: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reportの情報を上手に使う

Hachioji.pm@moznion

Page 2: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reportの情報を上手に使う

Hachioji.pm@moznion

Page 3: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reportの情報を上手に使う

Hachioji.pm@moznion

全般の話

Page 4: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

@moznion

普段は働いて暇な時に学生してます

今年の末あたりから就活が始まります

Page 5: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

本日は寝坊して関係者各位にご迷惑をおかけしました

Page 6: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

本日は寝坊して関係者各位にご迷惑をおかけしました

Page 7: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

本当に申し訳ございません

Page 8: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

宣伝

Page 9: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 11: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

API を介したCRUD 処理がひと通り実現可能

Page 12: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

それに伴って、いくつか クライアントを実装

(プロトタイプ的ですが)

Page 13: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

1

Page 14: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Hateblo.vim

Page 15: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Vim からはてなブログへの投稿などが出来る

Page 16: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

API が提供している機能は(一応) ひと通り

サポートしています

Page 17: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

2

Page 18: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

hatenablog-post

Page 19: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

はてなブログへの投稿ができる Chrome 拡張

Page 20: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

こんな感じ

Page 22: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

大変便利なAPIですので皆様、どうぞご利用ください

Page 23: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

宣伝ここまで

Page 24: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

本題

Page 25: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

< Hello

Page 26: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports

Page 27: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Perl の世界観

Page 28: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

テスト大事

Page 29: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

ぶっ壊れてるモジュール必要なし

http://livedoor.blogimg.jp/u0840153/imgs/a/3/a36ee17e.jpg

Page 30: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

デフォルトだとテストにコケるモジュールはインストールできない

(ですよね?)

Page 31: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

なので、テスト結果に関する情報は非常に重要

Page 32: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports

そのモジュールがどれくらいテストに通ってどれくらいテストにコケているかを可視化してくれているサイト

Page 33: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports

あと、そのモジュールがどの環境で動いてどの環境で動かないかも確認できるので捗る

Page 34: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports

有志の Tester の人がローカルの環境でテストして、その結果を送ってくれる事によって成り立っている。

Page 35: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 36: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

よく「Perl/CPANは枯れている」といいますが、それを支えているのはPerlの歴史とかPerlerの性格といった形のないものではなく、この CPAN Testers なのです。これがすごくいいんですよ。

[出典]CPAN Testersの紹介 - Islands in the byte streamhttp://d.hatena.ne.jp/gfx/20130309/1362823135

Page 37: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports を使うと捗るシーン

Page 38: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

1

Page 39: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

モジュール選定時

Page 40: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

- そのモジュールは安全か- 今もメンテが継続中か- 対象環境でも動作するか

Page 41: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

- そのモジュールは安全か- 今もメンテが継続中か- 対象環境でも動作するか

ここらへんがわかる

Page 42: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

2

Page 43: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

モジュールのメンテ時

Page 44: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

- どの環境でコケてるのか判るから手元に再現環境作れる- ログが参照できるからトラブルシュートしやすい

Page 45: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

- どの環境でコケてるのか判るから手元に再現環境作れる- ログが参照できるからトラブルシュートしやすい

モジュールの質が上がる

Page 46: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

後で紹介するTestament は2 にフォーカス

Page 47: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Report の読み方

Page 48: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

モジュールを利用する場合

Page 49: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 50: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 51: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

ここらへんは普通に読むと良い

Page 52: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 53: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 54: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 55: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

便利

Page 56: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

モジュールをメンテする場合

Page 57: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

無愛想なテキストを読む必要性があって難関

Page 58: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

とはいえ、読めば良い所は絞ることが可能

Page 59: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

とはいえ、読めば良い所は絞ることが可能

Page 60: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

とはいえ、読めば良い所は絞ることが可能

どのテストがコケてるかを確認出来る

Page 61: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 62: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

依存モジュールのインストール状況を確認できる

Page 63: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

ここが問題になっているケース、割と多い印象

Page 64: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

とはいえ、読めば良い所は絞ることが可能

Page 65: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

とはいえ、読めば良い所は絞ることが可能

色々わかる

Page 66: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

“LANG” と “PERL5LIB”、“PERL5OPT” あたりを見ると良い感じ

Page 67: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

その他は適宜

Page 68: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

ここら辺をよしなに引っ張ってこれる君を

書いた

Page 69: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Testament

Page 70: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports の結果に基いて

テストにコケている環境を再現してくれるツール

Page 71: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

@ytnobody さんと共同開発

Page 72: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

モジュールのメンテする時、テスト失敗している環境を再現する事がままある

Page 73: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

そこら辺を自動化したいというモチベーション

Page 74: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 75: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

こういう環境を仮想マシンとして再現してくれる

Page 76: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

- OS の構築- 該当するバージョンの Perl をビルド

Page 77: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

- OS の構築- 該当するバージョンの Perl をビルド

ここまでやる

Page 78: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

現状、OS は- OpenBSD- NetBSD- FreeBSD

に対応

Page 79: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

バックエンドは QEMU とVagrant (VirtualBox) に対応

Page 80: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

ちょっとデモ

Page 81: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Patches Welcome!https://github.com/ytnobody/testament

Page 82: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports 便利!

Page 83: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports

有志の Tester の人がローカルの環境でテストして、その結果を送ってくれる事によって成り立っている。

Page 84: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports

有志の Tester の人がローカルの環境でテストして、その結果を送ってくれる事によって成り立っている。

Page 85: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

恩返しをしよう!

Page 86: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

CPAN Testers Reports にレポートを送る

Page 87: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

cpanm を利用している場合

Page 88: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

cpanm を利用している場合

$ cpanm App::cpanminus::reporter$ cpanm-reporter --setup$ cpanm [--test-only] Foo::Bar$ cpanm-reporter

Page 89: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

これだけ!

Page 90: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

やってみる

Page 91: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

ね、簡単でしょ?

Page 92: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 93: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

こんな感じでCPAN Testers Reports は

素晴らしいシステムなのです

Page 94: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

是非便利に使いたいですね!

Page 95: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Thank you “Birmingham.pm”!!

Page 96: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

他にも「こんな便利な使い方があるよ」とかあったら教えて下さい!

Page 97: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Page 98: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

番外編

Page 99: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Ukigumo を使ったCPAN Testers Reports 風仕立て

Page 100: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Ukigumo の説明

Page 101: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Page 102: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

まー、CIサーバッス

Page 103: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

とにかく出来そう

Page 104: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

雰囲気としてはこんな感じ

Page 105: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

課題

Page 106: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

レポートをパーズしてよしなにパラメータとして

セットする部分

Page 107: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

あと、文言が色々とおかしいのでマッチさせる必要有り

Page 108: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

上手く行けば Perl 以外の言語にもエクスポートできるのではないか

Page 109: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

という感じです

Page 110: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Ukigumo の域を超えているのでは

Page 111: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

Page 112: YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

という感じです