+++
title = "git-build.sh: a low-tech tool to keep your builds updated"
date = 2020-04-25
[taxonomies]
skills = [ "git", "shell" ]
+++

Do you find it hard to keep updated all your git projects and rebuild everything when updates are available? Well it may be easy for a handful project, but what do you do when there's a dozen of them?

Now, what do you do when there's dozens of them spanned across several servers? The answer is [git-build.sh](https://tildegit.org/southerntofu/git-build.sh)! It allows you to keep your projects updated, and automatically start some tasks when updates are available. In addition, per-host config is supported (based on `$HOSTNAME`) so you can share the same `~/.git-build/` configuration folder across machines.

What's really special about it, is that it is **simple**. Its interface is designed to be both meaningful to humans and machine-scriptable so you can integrate it with your favorite tools, yet still edit something manually when the need arises. Everything you need to know about `git-build.sh` fits in the `README.md` file.

There's probably plenty of other solutions developed by other people that fit this description, however i could not find any. If you know something, just mail me and i will place a mention in the project's `README.md`.

This blog is now fully deployed by `git-build.sh`. To publish an article, i just commit and push it to the repository, then run `git-build.sh` on thunix.net. In case something goes wrong, i have `~/.git-build/static-publish.{log,err}` to answer my questions.

That's all there is to it. Don't hesitate to criticize/comment!
