3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Werckerでテスト時に必要なモジュールをインストールする方法

Posted at

Werckerはテストの進行状況がリアルタイムで確認できたりするUIがイケているCIツール。現在ベータバージョンで、Privateリポジトリでも無料で使うことが出来る。

Werkerはテストに必要なDBなどのモジュールをServiceを登録することでテスト時に使用することができる。

この時Serviceとして使えるものはBoxといい、以下のページから探すことが可能。
https://app.wercker.com/#explore

既存のものに目的のものが見当たらない場合、BashスクリプトChefによってすることもできる。
Chefも結局Bashスクリプトでchef-solo呼んでるだけだけど。

Kuromoji入りのElasticSearchでテストする例

そもそもElastic Searchのテストって??

Elastic Searchでテストを書く例は第3回Elastic Search勉強会の@tady_jpさんのTest Driven Search参照
https://github.com/tadyjp/test_driven_search

既存のリソース

Kuromojiが入っていないBoxなら公開されている。
https://github.com/wunki/wercker-box-elasticsearch

自前でBoxを作る

Kuromoji という日本語形態素解析をしてくれるものを含んだ Elasticsearch 環境をBoxにしてみた例

wercker-box.yml
name: kuromoji-elasticsearch
version: 0.0.6
inherits: wantedly/ubuntu12.04-chef@0.0.1
type: service
platform: ubuntu@12.04
description: elasticsearch with kuromoji plugin
keywords:
  - elasticsearch
  - kuromoji
  - japanese search
packages:
  - elasticsearch@1.0.1
  - kuromoji@2.0.0
script: sudo chef-solo -c $WERCKER_SOURCE_DIR/solo.rb -j $WERCKER_SOURCE_DIR/solo.json -l debug
env:
  WERCKER_ELASTICSEARCH_VERSION: 1.0.1
  WERCKER_ELASTICSEARCH_URL: $$HOST$$:9200
  WERCKER_ELASTICSEARCH_HOST: $$HOST$$
  WERCKER_ELASTICSEARCH_PORT: 9200

のように wercker-box.yml を作る。

重要な部分は、

script: sudo chef-solo -c $WERCKER_SOURCE_DIR/solo.rb -j $WERCKER_SOURCE_DIR/solo.json -l debug

で、ここで何を行うかを指定している。
solo.json の中身はChefの話になるので割愛するが、興味がある人はリポジトリのソースコードを読んでみて欲しい。

ドキュメントに従ってBoxを登録すると、

のようになり、

services:
  - wantedly/kuromoji-elasticsearch@0.0.6

と利用することができるようになる。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?