A base Docker image for creating build sidecars for git-personal. These sidecars allow git-personal to trigger a build every time new code is pushed.

git-personal-builder runs a super simple HTTP server listening for POST /build requests from git-personal. These requests include the hash of the commit being built, any branches and tags associated with the commit, relevant secrets, and a tar.gz archive of the code at that commit. The server extracts the code archive into a directory, saves the secrets into another directory, and then calls a build command with the hash, directory, secrets directory, and branches/tags as arguments. This build command is supplied by the image created on top of the git-personal-builder image.

I primarily use git-personal-builder via the included gpb-docker image. gpb-docker is a generic builder image built on top of the base git-personal-image. It allows for flexible builds defined in the repository being built, and a single gpb-docker container can be used to run multiple builds for the same repo or to build many different repos. For example, I use a single gpb-docker container to auto-deploy my website, to auto-publish git-personal’s Docker image, and to auto-publish the Docker images for git-personal-builder and gpb-docker.