#!/bin/bash # Bring in the variables from SOLUTION file # export $(grep -v '^#' SOLUTION | xargs -d '\n') export $(grep -v '^#' MANIFEST | xargs -d '\n') # Remove the Dockerfile if it exists; should check # if it is clean first, and abort if not. # [ -e Dockerfile ] && rm Dockerfile cat << EOM > Dockerfile # # DO NOT EDIT THIS DOCKERFILE # # This file is auto-generated via scripts/build-dockerfile # by using environment substitution while concatenating the # contents of templates/*, and then adding the contents # of Dockerfile.solution # # Most solution specific changes should be isolated in # Dockerfile.solution. After making changes, you can # then re-run scripts/build-dockerfile # EOM for snippet in templates/*.in; do cat << EOM >> Dockerfile # # Template $snippt begins here (from templates/${snippet}) # EOM envsubst < $snippet >> Dockerfile done cat << EOM >> Dockerfile # # Solution begins here (from Dockerfile.solution) # EOM envsubst < Dockerfile.solution >> Dockerfile docker build . -t $CONTAINER:agama-${AGAMA_VERSION} cat << EOM If the build looks good, you should commit the changes to Dockerfile and tag it as agama-${AGAMA_VERSION}: git commit -s -a -m "Build of agama-${AGAMA_VERSION}" git tag -f agama-${AGAMA_VERSION} EOM