Perl Hackers Hub

第49回 CPANモジュールの品質を支えるCI技術(1)

この記事を読むのに必要な時間:およそ 1 分

本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはOSSOpen Source Software開発を活発にされている水音ぴねさんで,テーマは「CPANモジュールの品質を支えるCI技術」です。

本稿のサンプルコードは,WEB+DB PRESS Vol.103のサポートサイトから入手できます。

CPAN Testers─⁠─ コミュニティによる品質維持

PerlにはCPANという中央リポジトリがあり,さまざまなモジュールがOSSとして利用できます。CPANは,CPAN Testersというしくみによって品質が維持されています。はじめに,そのしくみを解説します。

CPAN Testersとは

CPAN Testersは,CPANのモジュールを有志がテストし,その結果を集計してまとめているWebサービスです。手もとの環境だけでなく,さまざまな環境でのテスト結果を気軽に閲覧できます。CPAN Testersへは,metaCPANの各モジュールのページから移動できます図1)⁠metaCPANはCPANをより使いやすくしたWebサービスです。

図1 metaCPAN

図1 metaCPAN

CPAN Testersでは,macOS,Windows,Linux,FreeBSDなど,さまざまなOSでテストされています。それぞれのOS上で複数のPerlバージョンでテストされるため,テストされる環境の組み合わせは膨大です。こういった環境を自前で用意し,リリースごとにテストを行うとしたら大変な作業です。このようなエコシステムが整っているのは,Perlの良いところです。

CPAN Testersの読み方

CPAN Testersでは,どの組み合わせでテストが成功したかという情報だけではなく,テスト時の環境の情報やログを閲覧できます。CPAN Testersにアクセスしたら,テスト結果を見たい組み合わせをクリックし,見たいレポートを選びます図2)⁠

図2 CPAN Testers

図2 CPAN Testers

図3は拙作のHash::Util::Pickのテスト結果です。これはPerlをC言語で拡張したXSモジュールであるため,テストの際にC言語のコンパイルが必要です。レポートからはどのバージョンのgccが使われたか,コンパイルオプションは何かを見ることができます。

図3 CPAN Testersでのテスト結果

図3 CPAN Testersでのテスト結果

CPAN Testersはテスト時の環境や実行ログがかなり詳細にレポートされるしくみなため,特定の環境だけでテストに失敗したときも修正が比較的容易です。

<続きの(2)こちら。>

WEB+DB PRESS

本誌最新号をチェック!
WEB+DB PRESS Vol.106

2018年8月24日発売
B5判/144ページ
定価(本体1,480円+税)
ISBN978-4-7741-9943-6

  • 特集1
    [コードで超わかる!]
    実践Android/iOSアプリ設計

    開発を加速させる実装パターン
  • 特集2
    [速習]Spring Boot
    簡潔にコードを書けるJavaフレームワーク
  • 特集3
    仮想DOM革命
    ReactでGUI設計が変わる!

著者プロフィール

水音ぴね(みずねぴね)

新卒で入社した会社では,Perlでソーシャルゲームの開発に従事。

現在は転職し,アプリとサーバーサイドをScalaで書いている。JavaScriptが好き。

GitHub:pine

コメント

コメントの記入