としたにあんの左脳

備忘録です.

Jenkinsでperlモジュールの自動テストをできるようにする

Github+Jenkinsが多分出来るようになったので
GithubとJenkinsの連携をしてみる - としたにあんの左脳

GithubにPushして,Jenkinsが自動でテストしてくれるようにします.
MacにPerl開発環境を準備 - としたにあんの左脳
ローカルはこれでやってますが,jenkinsさんがテストできるようにしないといけないので,
デフォのcpanでCartonをインストールしてみました.

今回はテストでperlのMinillaでテンプレートを作ったモジュールのテストを行います.
kawasakitoshiya/jenkins_test · GitHub
テストはproveで.

--formatter TAP::Formatter::JUnit 

というオプションをつけて結果をJUnit形式で出力するようにしています.


Jenkinsのビルドをshellで行います

carton install
carton exec prove --formatter TAP::Formatter::JUnit 

どういう風にテストが行われるかというと,

  1. Jenkninsのgit pluginによりGithubからcloneしてくる(/var/lib/jenkins/jobs/Test/workspace に展開)
  2. ビルドスクリプトが実行される

だと思います.

無事,テストが実行され,テストが成功しました.
失敗するテストを入れて,git_pushしてもちゃんとテストに失敗してくれたのでOKでしょう.