This article is an update of Deploy your Hugo site through SSH with Travis. I don’t use Travis CI anymore since they left open source maintainers out in the dust with their new pricing plan in 2020.
After having moved my blog from WordPress to Hugo, my next objective was to have it built and deployed automatically to my self-hosted webhosting server whenever I push a commit to GitHub. The main reasons to use this process are these:
- I want that any change or addition to the website are as easy to deploy as a simple git commit;
- I want my builds to be reproducible;
- I want a clean state for each build;
- I don’t want to be dependent on an external hosting service (no lock-in);
- I don’t want to have to worry about a computer crash or about my own Internet connection.
I use this process for more about 4 years to deploy the MoodleBox documentation website (more than 1000 web pages!), and for a few days for deploying this blog (more than 900 pages!). It works great 👍