Pre-commit is a tool created by Yelp that allows you to run pre-commit sanity checks against your repo, to do things like ensuring private keys aren't being added etc. This image packages pre-commit in a docker-container, so you can ship it with a setup script you might be using to setup local development environment.
Create .pre-commit-config.yaml in the root of your repo. For example
- repo: git://github.com/pre-commit/pre-commit-hooks
sha: master # Use the ref you want to point at
hooks:
- { id: check-case-conflict }
- { id: check-merge-conflict }
- { id: check-symlinks }
- { id: check-json }
- { id: check-yaml }
- { id: detect-private-key }
- { id: end-of-file-fixer }
- { id: trailing-whitespace }
Add pre-commit script to .git/hooks/pre-commit
cd $(git rev-parse --show-toplevel)
NAME=$(basename `git rev-parse --show-toplevel`)_precommit
docker ps -a | grep $NAME &> /dev/null
CONTAINER_EXISTS=$?
if [[ CONTAINER_EXISTS -eq 0 ]]; then
docker restart $NAME && docker attach --no-stdin $NAME
else
docker run -t -v $(pwd):/pre-commit --name $NAME taghash/pre-commit
fi
Create an empty commit to test
git commit --allow-empty -m "Test pre-commit"
pre-commit plugin that needs dependencies not packaged in this image, you can extend this image and install the dependencies you need{ id: detect-aws-credentials } to .pre-commit-config.yaml, you have to mount the directory holding your aws credentials.pre-commit script) would then become
docker run -t -v $(pwd):/pre-commit -v $HOME/.aws:/root/.aws:ro --name $NAME taghash/pre-commit
Content type
Image
Digest
Size
182.8 MB
Last updated
over 8 years ago
docker pull sparkfabrik/docker-pre-commit