~jcc/git-personal-builder

A base Docker image for creating build sidecars for git-personal
Add generic gpb-docker builder
Include branches associated with the commit
Add the ability to pass secrets to the builder

clone

read-only
https://git.sr.ht/~jcc/git-personal-builder
read/write
git@git.sr.ht:~jcc/git-personal-builder

You can also use your local clone with git send-email.

#git-personal-builder

jasoncarloscox.com/creations/git-personal-builder

A base Docker image for creating build sidecars for git-personal. Also available as a pre-built image on Docker Hub.

#Usage

There are two ways to use git-personal builder. In most cases, you'll want to use the simpler gpb-docker approach, which allows for flexible builds defined in the repository being built and can be used to build many different repos. This approach is documented in gpb-docker/README.md.

For some complicated use cases building a custom image based on git-personal-builder may be necessary.

#Custom image based on git-personal-builder

Create a Dockerfile for an image based on jasonccox/git-personal-builder. At a minimum, the image should include a command, such as a custom script, to be run for each build. The command will be run as follows:

<command> <commit> <dir> <secret dir> [<ref> ...]
  • <commit>: The hash of the commit being built.
  • <dir>: The path to a directory containing the code to be built, i.e. a snapshot of the code at the commit.
  • <secret dir>: The path to a directory containing secrets sent by git-personal.
  • <ref> ...: A list of branches/tags associated with the commit in git.

For an example Dockerfile, check out the build/ directory of this repo, which specifies an image to build git-personal-builder.

Finally, run your container and configure git-personal to use it.

The gpb-docker Dockerfile serves as a good example of building a custom image.

#Contributing

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.)