読者です 読者をやめる 読者になる 読者になる

tkuchikiの日記

Linux やプログラミングについて書きます。

Bats を使って Travis CI で bash(シェルスクリプト) のCI を回す

bash Bats TravisCI test

Bats で bash のテストを書く - tkuchikiの日記
の続きです。

bash のテストができるようになると CI を回したくなりますよね。
ということで、Travis CI でテストを回すまでの方法を説明します。

https://github.com/tkuchiki/bats-travis-ci
にすべてのコードを置いています。

.travis.yml

before_install で bats をインストールし、script で実行します。

language: bash
before_install:
  - sudo add-apt-repository ppa:duggan/bats --yes
  - sudo apt-get update -qq
  - sudo apt-get install -qq bats
script:
  - bats /path/to/test.bats

これで Travis CI で bats が使えるようになります。
あとは、テストを書いて push すれば bats を実行できます。
以下は、実行結果の一部です。

$ git clone --depth=50 --branch=master https://github.com/tkuchiki/bats-travis-ci.git tkuchiki/bats-travis-ci
$ cd tkuchiki/bats-travis-ci
$ git checkout -qf 56e66e566c89c7e891862bb2f3128cb8c9014dcf
$ sudo add-apt-repository ppa:duggan/bats --yes
$ sudo apt-get update -qq
$ sudo apt-get install -qq bats
$ sudo apt-get install -qq bc
$ bats ./test.bats
1..7
ok 1 addition using bc
ok 2 status code
ok 3 output
ok 4 lines
ok 5 run command
ok 6 load
ok 7 # skip (skipped) skip
The command "bats ./test.bats" exited with 0.
Done. Your build exited with 0.

実行結果の詳細は以下のページにアクセスすると確認できます。

https://travis-ci.org/tkuchiki/bats-travis-ci

まとめ

Travis CI で bash のテストを行う方法を紹介しました。
yaml を少し書くだけで bash の CI を回せるようになりますので、
是非お試しください。