diff --git a/Dockerfile b/Dockerfile index 542f39c..735cac6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,8 @@ ENV PATH="${PATH}:/app/vendor/bin" WORKDIR /app -RUN adduser --disabled-password app \ +RUN apk add --no-cache bash \ + && adduser --disabled-password app \ && chown app:app -R /app USER app diff --git a/run b/run new file mode 100755 index 0000000..21f86d5 --- /dev/null +++ b/run @@ -0,0 +1,29 @@ +#!/bin/bash + +# Based on https://github.com/adriancooney/Taskfile and +# https://nickjanetakis.com/blog/replacing-make-with-a-shell-script-for-running-your-projects-tasks. + +DOCKER_TAG=meetup-raffle-winner-picker + +function build { + # Build the Docker image. + docker image build . --tag ${DOCKER_TAG} +} + +function help { + printf "%s <task> [args]\n\nTasks:\n" "${0}" + + compgen -A function | grep -v "^_" | cat -n + + printf "\nExtended help:\n Each task has comments for general usage\n" +} + +function test { + # Run PHPUnit tests. + docker container run --rm -it \ + -v $(pwd):/app \ + --entrypoint phpunit \ + ${DOCKER_TAG} "${@}" +} + +eval "${@:-help}"