Why this post? Because I decided to change the style of how I was hosting my blog. Before I had decided to just host the blog on something that was easy to get to and update. I could have kept on blogging there, but I found making blog posts a little bit more difficult than what I wanted to. I also wanted to learn some of the
new ways of doing things within networking technologies.
With this, I decided to bring my blog over to a static site generator. I’m not doing anything significantly crazy with a blog site, other than hopefully creating some useful content. So static site generation brought me over to Github.
What I wanted to accomplish
What I wanted to accomplish with my blog:
- Create some useful content that others may find helpful
- Leverage Markdown for quick document creation (Previous site was time consuming in my mind to create content, but it did get a start)
- If possible, figure out how to appropriately handle CI/CD
- Maybe, maybe, look to moving to a Python static site generator, since I am doing most of my own work in Python. Perhaps GoLang if there is such a thing in that sphere. We will see.
The first four posts on this page are pieces that I was able to quickly move over from the previous blogging platform over to the markdown flavor. This explains the timing of this post with having older posts on the blog.
I originally started with Gitlab, knowing that they had a good exposure of the CI/CD process and had it all integrated. I didn’t want to try to integrate a different solution into the Github arena if possible. I tried originally forking the
jekyll format over, but this didn’t get going well. The CSS never quite made it into the page, so I was frustrated and decided to try Github.
Over at Github, I could start to get the content, and as soon as I would push a new commit to master I would get an email a few minutes later saying that the build had failed. No other helpful information in the email, just that the Jekyll build had failed. After about four of these messages I decided to try just doing Jekyll on a new VM host of my own and see if I could get it working there.
I started with a fresh Jekyll page, and immediately things came right up. Finally some progress! Eventually, I found my way to the Jekyll Quickstart/Docs, following that tutorial and looking at other blogging pages on various Github/Gitlab pages I figured out the structure a little bit more.
I then cloned the repository from Gitlab pages to my local instance and gave it a run. The default page showed immediately. From there I went ahead and copied my posts into the
_posts directory and the content was right there. I decided to push the content to my Gitlab pages and low and behold it worked there as well! I was in business.
SSL and Custom Domain
There are lots of articles all over the web on how to do a custom domain on Gitlab pages. So I’m not going to provide details, but high level:
- Make sure your repository name is
- Point your DNS records at Gitlab and away you go
SSL was a little more tricky. I had found an “official” link from Gitlab, but that was not helpful to me. I couldn’t get the certificate information to show up with Let’s Encrypt. I eventually came across this blog on how to do certificates with Let’s Encrypt via Gitlab pages. Once I completed the work done described there, I was able to get my certificates from Let’s Encrypt, and I now have a SSL blog.
Final Decision: Gitlab Pages
At that point, I finally had a page out on the web and am at the point that I am now. I’m going to continue to evolve what the pages will look like. I’ve still got some more to learn about how to get Jekyll in the right setup. Maybe a trip to using Python Pelican to build a flavor. But for now, I have a place where I can post material, and so far with writing this post, things are much quicker.