this part isn't true
All checks were successful
Hugo deploy / retrieve-and-execute (push) Successful in 0s

This commit is contained in:
lourenco
2025-09-22 09:56:21 +02:00
parent 7f14609daf
commit 2a5b04dc23

View File

@@ -35,6 +35,4 @@ So, imagine this: I'm at my computer, and I clone the git repository that contai
If you run your own git forge - and I do, can recommend [gitea](https://about.gitea.com/) for this - you have everything you need: Gitea has it's own [runner](https://docs.gitea.com/usage/actions/act-runner) that allows it to run actions on a system. This isn't too complicated to setup, and the workflow for this particular setup is remarkably simple, you can check it [here](https://git.assilvestrar.club/lourenco/excipio/src/branch/main/.gitea/workflows/blog-deploy.yaml). What this does, in essence, is that every time I push a change to the git repo on gitea, the runner will automatically pull the changes to my webserver and trigger the `hugo build` command that's necessary to generate the new content. And in less than a second (because hugo is _fast_, like 50ms to generate the whole website fast), everything is done. If you run your own git forge - and I do, can recommend [gitea](https://about.gitea.com/) for this - you have everything you need: Gitea has it's own [runner](https://docs.gitea.com/usage/actions/act-runner) that allows it to run actions on a system. This isn't too complicated to setup, and the workflow for this particular setup is remarkably simple, you can check it [here](https://git.assilvestrar.club/lourenco/excipio/src/branch/main/.gitea/workflows/blog-deploy.yaml). What this does, in essence, is that every time I push a change to the git repo on gitea, the runner will automatically pull the changes to my webserver and trigger the `hugo build` command that's necessary to generate the new content. And in less than a second (because hugo is _fast_, like 50ms to generate the whole website fast), everything is done.
Given how hugo deals with with the front-matter, I can even schedule posts just by putting a date to the future and not worry about it again. You can see this by looking at [this commit](https://git.assilvestrar.club/lourenco/excipio/commit/e2b806fe5fd02da6645fb43ca8512f274cbb68b7): the post was submitted a day before, but it will only become visible once we're at the date of publication.
And that was that. I know: at first glance this might sound a bit complicated, maybe even over-engineered. But this will be a common theme in this blog. What we're doing is exposing the complexities of modern software. This is what other frameworks hide from you, but at what cost? This whole setup takes a fraction of the disk space and RAM to run, with the exact same functionality, and it's much more reproducible and scalable. Also, absolutely no lock-in. I can change Nginx for Caddy, hugo for Jenkyll, my own private git forge for github (but, lol, why would I do that), and so on. And the skills you gain by doing this are probably the best part. And that was that. I know: at first glance this might sound a bit complicated, maybe even over-engineered. But this will be a common theme in this blog. What we're doing is exposing the complexities of modern software. This is what other frameworks hide from you, but at what cost? This whole setup takes a fraction of the disk space and RAM to run, with the exact same functionality, and it's much more reproducible and scalable. Also, absolutely no lock-in. I can change Nginx for Caddy, hugo for Jenkyll, my own private git forge for github (but, lol, why would I do that), and so on. And the skills you gain by doing this are probably the best part.