git-personal-builder
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.
Source code and documentation are available in the Git repository.
Contributions are welcome! You can send questions, bug reports, patches, etc. by email to ~jcc/public-inbox@lists.sr.ht. (Don't know how to contribute via email? Check out the interactive tutorial at git-send-email.io, or email me for help.)