From 0fc4c3fd7a1ee7d8a9863a2cb46ed9a64d48ee9f Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 15 Feb 2017 11:16:11 -0700 Subject: [PATCH] push multi commands to own script --- Dockerfile | 2 +- docker-entrypoint | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 23d0ea6..b6cbef6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM library/docker:1.13 ENV HOME_DIR=/opt/crontab RUN apk add --no-cache --virtual .run-deps bash jq \ - && mkdir -p ${HOME_DIR}/projects + && mkdir -p ${HOME_DIR}/jobs ${HOME_DIR}/projects COPY docker-entrypoint / ENTRYPOINT ["/docker-entrypoint"] diff --git a/docker-entrypoint b/docker-entrypoint index cb7b8fd..b625a6d 100755 --- a/docker-entrypoint +++ b/docker-entrypoint @@ -27,8 +27,6 @@ make_container_cmd() { CONTAINER=$(echo ${1} | jq -r .container) TMP_COMMAND=$(echo ${1} | jq -r .command) - COMMAND_ARR=() - if [ "${PROJECT}" != "null" ]; then # create bash script to detect all running containers @@ -133,15 +131,23 @@ function build_crontab() { continue fi - COMMAND=$(make_cmd "$(jq -c .[$i] ${CONFIG})") + SCRIPT_NAME=$(cat /proc/sys/kernel/random/uuid) + COMMAND="/bin/bash ${HOME_DIR}/jobs/${SCRIPT_NAME}.sh" +cat << EOF > ${HOME_DIR}/jobs/${SCRIPT_NAME}.sh +#!/usr/bin/env bash +set -e + +$(make_cmd "$(jq -c .[$i] ${CONFIG})") +EOF if [ "$(jq -r .[$i].trigger ${CONFIG})" != "null" ]; then while read j ; do if [ "$(jq .[$i].trigger[$j].command ${CONFIG})" == "null" ]; then echo "Command Missing: $(jq -r .[$i].trigger[$j].command ${CONFIG})" continue fi - TRIGGER_COMMANDS=$(make_cmd "$(jq -c .[$i].trigger[$j] ${CONFIG})") - COMMAND="${COMMAND} && ${TRIGGER_COMMANDS}" + #TRIGGER_COMMAND=$(make_cmd "$(jq -c .[$i].trigger[$j] ${CONFIG})") + $(make_cmd "$(jq -c .[$i].trigger[$j] ${CONFIG})") >> ${HOME_DIR}/jobs/${SCRIPT_NAME}.sh + #COMMAND="${COMMAND} && ${TRIGGER_COMMAND}" done < <(jq -r '.['$i'].trigger|keys[]' ${CONFIG}) fi