LoginSignup
5
2

More than 5 years have passed since last update.

digdag の自前ビルド (docker 編)

Last updated at Posted at 2019-03-26

事前準備

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
5
2
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
5
2