事前準備
docker をインストールしておくこと
ビルド
https://github.com/treasure-data/digdag/blob/master/.travis.yml をから現在ビルドに使っている docker イメージを調べる。
例)
$ BUILD_IMAGE=digdag/digdag-build:20190226T204642-f12ed87c03e63d1c7204ee0fbda21b9f4f697d91
docker pull
$ docker pull $BUILD_IMAGE
./gradlew cli
で docker 内でビルド
$ docker run -w /digdag -v `pwd`:/digdag -v $HOME/.gradle:/root/.gradle $BUILD_IMAGE ./gradlew cli
pkg 下にできあがるのでそれを実行すれば起動する。実行ファイル形式になっているのでそのまま実行できる。
$ pkg/digdag-{VERSION}.jar
TODO: この jar は shadowJar なる全詰めのいわゆる fat jar。作るのに 10 sec ぐらいかかってつらいのでスキップして実行する手段があったら教えてほしい
インストール
インストールはこの jar を digdag という名前で PATH が通っている場所におけば良い
sudo mv pkg/digdag-{VERSION}-SNAPSHOT.jar /usr/local/bin/digdag
テスト
テスト対象を絞り込んで受け入れテストを流す
env CI_ACCEPTANCE_TEST=true \
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-w /digdag \
-v `pwd`/:/digdag \
-v $HOME/.gradle:/root/.gradle \
$BUILD_IMAGE \
./gradlew digdag-tests:test --info --tests acceptance.DockerIT
テスト対象を絞り込んで単体テストを流す
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-w /digdag \
-v `pwd`/:/digdag \
-v $HOME/.gradle:/root/.gradle \
$BUILD_IMAGE \
./gradlew digdag-core:test --tests io.digdag.core.schedule.ScheduleExecutorTest