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.108

2018年12月22日発売
B5判/168ページ
定価(本体1,480円+税)
ISBN978-4-297-10324-8

  • 特集1
    [効率急上昇!]スキーマ駆動Web API開発
    OpenAPI/GraphQLで仕様からコードもテストも作成
  • 特集2
    詳解PostgreSQL
    [10/11対応]現場で役立つ新機能と実践知識
  • 特集3
    ZOZO開発ノウハウ大公開
    既存資産を活かしたシステムリプレース
  • 18周年記念エッセイ
    壁の先に見えたもの
    限界! もうダメ! もはやこれまで!?

著者プロフィール

水音ぴね(みずねぴね)

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

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

GitHub:pine

コメント

コメントの記入