Website

AutoDeploy

· me

Reinventing the wheel

Lately, I’ve been experimenting with reinventing the wheel. I got tired of running manual builds on the VPS that hosts this website and a few other tools I use, so I decided to write a sort of task runner to teach myself rust along the way.

The Wheel

Apart from the fact that reinventing make is really not a good idea, I have also realized that whatever solution I have conjured up is even worse. The configuration file for bookregator is an awful mish-mash of raw calls using the rust stdlib and bash -c calls. I have a mind to add spec option to specify a shell to run some tasks in, but I fear that that will just make everything much messier. I suppose I’m the only person who is realistically going to use this, so I doubt it’ll be a problem.

Possible poor ideas

I’m thinking of writing a “hooks” system, similar to what you might see in the pacman package manager. Maybe this will evolve into a task-graph based system of deployment, but I do like the current simplicity of my explicit declaration system. Maybe a cross between the two? That is an incredibly silly idea.
Since the entire project can be used as a library, I briefly pondered the implementation of a socket API that would allow me to run a client that could log build completions. I’d hide this behind a feature.

#code

Reply to this post by email ↪