継続的インテグレーションでのテスト

継続的インテグレーションツールとして,GitHubと連動するTravis CIを用います.Travis CIがはじめてなら,まずはGetting startedを一読しましょう.以下ではテストがパスするまでの最低限の手順について説明します.

準備

Travis CIにGitHubアカウントでログインします.画面右上のユーザ名のメニューからAccountsを選択します.レポジトリ一覧が表示されるので,takuhaiレポジトリをビルド可能状態にします.

Build enable daizutabi/takuhai

ローカルPCのtakuhaiプロジェクトディレクトリ下に.travis.ymlファイルを作成します.以下の内容で保存しておきましょう.

language: python
python:
  - "3.6"
install:
  - pip install -r requirements.txt
  - pip install -e .
script:
  - takuhai
  - pytest

requirements.txtには依存パッケージを記述します.setup.pyと同じディレクトリに以下の内容で保存しておきます.

click
pelican
livereload

Note

takuhaiパッケージが依存するパッケージは,setup.py内に記述していました.再度,requirements.txtにも同じ内容を書くのは冗長でないかと疑問を持つかもしれません.冗長を回避するために,setup.pyrequirements.txtの内容を解析して自動で依存パッケージを指定することも可能です.

ビルド

Travis CIのtakuhaiプロジェクトページを開きます.ローカルPCのコマンドラインからtakuhaiレポジトリをgit pushしてみましょう.するとTravis CIのページが自動で切り替わり,ビルド処理を始めます.しばらくすると,テストにパスしたことが確認できます.

バッジをつけよう

ビルドに成功したのでGitHubレポジトリのREADMEにバッジをつけましょう.あわせてPyPIのバッジもつけておきます.README.mdを以下の内容で保存します.

# Takuhai Project

---
[![PyPI version][pypi-image]][pypi-link]
[![Travis][travis-image]][travis-link]

[pypi-image]: https://badge.fury.io/py/takuhai.svg
[pypi-link]: https://pypi.org/project/takuhai
[travis-image]: https://travis-ci.org/daizutabi/takuhai.svg?branch=master
[travis-link]: https://travis-ci.org/daizutabi/takuhai

git push後にレポジトリのページを確認するとバッジが表示されています.