EDIT: (2019.03.25) docker を使う方が紛れが少なくてオススメです => digdag の自前ビルド (docker編)
事前準備
Java8 と node.js 8.x が必要
macOS
brew tap caskroom/cask
brew tap caskroom/versions
brew cask install java8
brew install nodejs npm
トラブルシューティング: nodejs で digdag UI のビルドが走る時に
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
というエラーが出たので command line tools を一度削除して、App Store から Xcode を入れ直した。サイズがでかい(> 5GB)しインストールに時間がかかるので辛い...
Ubuntu
$ sudo apt install -y openjdk-8-jre-headless
$ sudo apt install -y nodejs npm
ビルド
$ ./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 ./gradlew digdag-tests:test --info --tests acceptance.RbIT
テスト対象を絞り込んで単体テストを流す
$ ./gradlew digdag-core:test --tests io.digdag.core.schedule.ScheduleExecutorTest