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

2019年12月23日発売
B5判/160ページ
定価(本体1,480円+税)
ISBN978-4-297-11109-0

  • 特集1
    安全運用のためのベストプラクティス!
    AWS/GCPセキュア化計画
  • 特集2
    生体認証でさよならパスワード
    作って学ぶWebAuthn
  • 特集3
    カード発行,決済,個人間送金の舞台裏
    Kyash開発ノウハウ大公開
  • 19周年記念エッセイ
    経験,技術力の向上,技術の進化を経た今,思うこと
    過去の自分へコードレビュー

著者プロフィール

水音ぴね(みずねぴね)

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

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

GitHub:pine