Today I started a new project. Completely (as much as possible) build and manage a website and domain from a git pipeline.

Manual steps

  • Setup new Google account
  • Purchase a domain name from Google
  • Setup a Cloudflare account and attach the domain
  • Point the registrar to Cloudflare for DNS.

What was automated

  • Jekyll to create the website static pages.
  • GitLab CI/CD to use a Jekyll Docker image to build the push the content to GitLab Pages.
  • DNSControl to configure Cloudflare DNS for the domain.

Project constraints

  • All tasks to be performed without any tools other than a web browser.
  • The costs of the project needed to be zero or very minimal.
    • Currently the only cost has been for the domain name.
  • Keeping small businesses or non-profits in mind for functionality.

Tools