python Travis CI

Travis CIを使ったPythonプロジェクト構築

投稿日:

Travis CIを使ってみたかったのでメモ。

概要

以前作っていたxbrl形式の有価証券報告書パーサ記事が思ったより評判がいいため、もっときれいに作り直そうと思い立った。

せっかくなので、Travis CIを使用して一人CIをしながら開発をしていく。

前準備

Travis CIのアカウントを作成

以下から行える。

GitHubアカウントを持っていれば、それを使用してSignUpから連携まで行える。

リポジトリ作成

以下に作った。

開発としては以下のように行おうと考えている

  • 開発及び実行はdockerを使用する
    • ホストのファイルシステムやpipを汚したくない
  • docker-compose からコンテナを立ち上げ、そのコンテナにexecする
  • ホストのsrc, testをマウントするため、ホストでも開発を行うことは可能

テストのための設定

テストはpytestを用いる。
以下を参考にした。

Dockerfileでpytestをインストールするよう記述し、コンテナ内でも実行できるようにしておく。

FROM python:3
USER root

RUN apt-get update
RUN apt-get -y install locales && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm

RUN apt-get install -y vim less
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install --upgrade pytest

Travis CI用の設定

リポジトリの中に.travis.ymlを作成する

language: python
python:
  - 3.3
install:
  - pip install pytest
script:
  - py.test test/sample_test.py

installでpytestをインストールする旨を記述し、scriptでテストの実行部を記述する。
今回はtest/ディレクトリにテストを格納する予定のため、test以下を指定してある。

コミットとTravis CIでのテスト実行

あとはコミットするだけ。

コミットすると自動的にTravis CIが動き出し、VMを立ててテストを実行してくれる。

あとがき

今回作ったリポジトリは以下。

今後はxbrlパーサのメンテを上リポジトリで実行する予定。

 

jenkins を使ったオンプレでのCIしか使ったことがなかったが、Travis CIがお手軽過ぎてびっくり。

業務でも使いたいなぁ。

-python, Travis CI

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

PythonでQuandlから株価を取得する

今回は、巷で流行りのプログラミング言語であるPythonの勉強として、Pythonを利用して株価を取得するコードを作成しました。 環境は以下です。 OS:Ubuntu16.04 Python:3.6. …

pythonで有価証券報告書(XBRL形式)をパースする

今年最後の更新になります。 pythonを使用して、株式会社の財務情報をパースするコードを作成しました。 目次1 要件・仕様2 XBRLとは3 有価証券報告書の会計基準について4 設計・実装5 テスト …

PyQueryを使用し株式会社の決算速報をスクレイピング

今回はpythonを利用したスクレイピングの練習として、PyQueryを利用したスクレイピングを行うコードを作成しました。 目次1 注意2 要件と仕様3 PyQueryとは4 設計・実装5 テスト5. …