Skip to main content

Welcome to My Blog

Implementing Github Actions

Implementing GitHub Actions for Faster Deployments

One of the key challenges I faced during this deployment was the slow file transfer process via Ansible. Previously, I used Ansible to copy all the HTML, CSS, and other assets to the server’s Nginx hosting directory. This method proved to be extremely slow and inefficient.

To address this, I transitioned to using a GitHub self-hosted runner. This approach deploys site updates automatically whenever there is a push to the main branch.

Building This Site

Hosting This Site: Technology Stack and Workflow

This site is hosted using a variety of technologies, each playing a specific role in creating a functional and efficient environment:

  • TrueNAS ScaleMy primary NAS and hypervisor, utilizing ZFS for redundancy.
  • AnsibleDefines the state of the server, providing a pseudo-CI/CD pipeline for this site.
  • HugoHandles static site generation.
  • DockerHosts the Nginx and Cloudflare Tunnel containers.
  • CloudflareProvides DNS and HTTPS tunneling for ease and security.
  • GitHubAll configurations are version-controlled in a private repository.

Why Use These Methods

There are easier ways to achieve what I’ve done here, but I intentionally chose a more complex tech stack to learn and practice new technologies. This setup doesn’t necessarily reflect enterprise practices—it’s tailored for personal growth and experimentation.