ExpressとTypeORMを使ったアプリケーションのWerckerでのCIがとりあえず完成したのでメモ。
box: node
services:
- id: mysql
tag: 5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: true
MYSQL_DATABASE: dbname
build:
steps:
- script:
name: yarn
code: yarn
- script:
name: Fill mysql env
code: |-
cp .env.example .env
sudo sed -i -e "s/TYPEORM_HOST=localhost/TYPEORM_HOST=$MYSQL_PORT_3306_TCP_ADDR/g" .env
sudo sed -i -e "s/TYPEORM_PORT=3306/TYPEORM_PORT=$MYSQL_PORT_3306_TCP_PORT/g" .env
cp .env test/.env
- script:
name: migration
code: yarn run migrate:run
- script:
name: yarn test
code: yarn test
migrationとtestのコマンドは適宜自分で設定。
test/.env
はテスト用に読むこむやつを設定しているというだけなので別のやり方をしている場合は不要。
TypeORMは特にテスト用のDB管理方法があるわけではないようなので、事前にマイグレーションしている。(ローカル環境も考慮すると全部自分で準備しなければならないのが非常に面倒)
ちなみにテストは下記でつくったもの。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント