digdag コマンドやクライアントライブラリなどの動作確認のため、 手軽にリセットしたり捨てられたりする Digdag サーバがあると便利かも? と思って雑に用意してみた。
Dockerfile
FROM ubuntu:18.04 RUN apt update \ && apt install -y --no-install-recommends \ curl \ openjdk-8-jre-headless \ && curl -o ${HOME}/bin/digdag --create-dirs -L \ "https://dl.digdag.io/digdag-0.9.39" \ && mkdir ${HOME}/tasklog
適当なシェルスクリプト
#!/bin/bash ENDPOINT=localhost:65432 CONTAINER_NAME=digdag_server_client_test HOME_DIR=/root case $1 in build) docker build -t digdag_server:test . ;; debug) docker run --rm -it --name $CONTAINER_NAME \ -p 65432:65432 digdag_server:test \ bash ;; up) docker run --rm --name $CONTAINER_NAME \ -p 65432:65432 digdag_server:test \ bash ${HOME_DIR}/bin/digdag server \ --memory --bind 0.0.0.0 \ --task-log ${HOME_DIR}/tasklog ;; down) docker kill $CONTAINER_NAME ;; push) pj=pj_test digdag push $pj --project . -e $ENDPOINT ;; task_start) pj=pj_test wf=wf_test digdag start $pj $wf --session "$(date "+%F %T")" -e $ENDPOINT ;; esac