--- # https://taskfile.dev version: '3' dotenv: - .env tasks: lint: desc: Lint the Dockerfile cmds: - hadolint Dockerfile build: deps: [lint] desc: Build the Docker image cmds: - docker build -t "${IMAGE_NAME}:latest" -t "${IMAGE_NAME}:${VERSION}" . test: deps: [build] desc: Show version of installed tool inside Docker container cmds: - docker run --rm "${IMAGE_NAME}" run: deps: [build] desc: Run ansible-lint inside Docker container cmds: - docker run --rm -v "$(pwd)/testing:${DOCKER_WORKDIR}" "${IMAGE_NAME}" . bash: deps: [build] desc: Run bash inside Docker container cmds: - docker run --rm -it -v "$(pwd)/testing:${DOCKER_WORKDIR}" "${IMAGE_NAME}" bash tag: deps: [lint] desc: Tag new version of Docker container cmds: - git tag "${VERSION}" - git push origin "${VERSION}" clean: desc: Delete Docker images and containers cmds: - docker container rm "${IMAGE_NAME}:latest" "${IMAGE_NAME}:${VERSION}" - docker container prune -f - docker image rm "${IMAGE_NAME}:latest" "${IMAGE_NAME}:${VERSION}" - docker image prune -f ignore_error: true ...