July 15, 2020

A technical update:

I’ve mostly automated the source control (backups, yay!) and deployment process. Here’s a rough outline:

  1. Create the new content file, for example “blogpost name.md” in the appropriate directory.
    • I’m not sure if I will do this via the “hugo new” command or with a snippet in Visual Studio Code.
    • Also, I’m still working out the structure and organization of this new site - more to come on that.
  2. Edit it in Visual Studio Code (VSC) or Notepad++.
  3. Commit changes in VSC and push to a private repository on github.com.
  4. Run the deployment script I created that lives in the root of my web app.
    • I keep my deployment (public) folder at the same level as the web app.
    • The deployment folder is also a git repository backed up on github.com.
    • I created a PowerShell script that deletes all the folders/files in the deployment directory except things in the .git folder.
    • The script then runs “hugo -d ../” to generate the static files that I need to deploy to my web server.
  5. Use GitHub desktop to commit the changes to the deployment folder and push to my GitHub repository.
  6. Finally, some magic happens to deploy the static files from the GitHub repository to my web server:
    • The web server is managed via Runcloud.io, which has a handy feature to deploy from GitHub.
    • Here’s some documentation on how to set it up: How to Deploy…Using Git.
    • Finally, and this is the really cool part, I added a webhook such that any time a change is committed to GitHub, my web server will automatically pull the changes. How cool is that!?

What’s next?

In no particular order:

  • Research content management/organization and decide on a structure for the site.
  • Figure out how to process, post and manage pictures.
  • Backup my existing WordPress site and move this one to live!
Mark Brudos
Mark Brudos
Husband, Father and Data Management Professional