So I acquired a new domain for application related to my family. I have been really excited to build it out however this is the first time there has been time to build it. The first iteration will be in Jekyll. I figure this is a quick and easy task, yet it has been a while since I have setup a Jekyll site. Let us see how much I can get done in 30 minutes.

I have already setup the domain to point to my cloud cluster. Next up I need to get the service configured to deploy a static asset repository. Easy enough if only I remembered how I built that system. So I setup a script in Jenkins to update the target hash on the cloud cluster. On the cloud cluster it will checkout, cloning if necessary, the repository and inject the correct configuration into the nginx instance. Long term I would like to replace nginx with an Irrigation setup but out of scope on this project. Assuming I remember this correctly I should be good to go. Eventually I should deploy another WikiMedia distribution to record procedural information I’m likely to forget.

So onto building the static asset repository! Starting off with a page which literally says “Test Page”. Create the Gitolite repository. Which brings up the Gitlab project I want to do try out in the future to see if it would be a suitable upgrade path. I decided to take a new path with using Jenkin’s new build pipelines. So the script looked something like this:

pipeline {
    agent any
    stages {
        stage('Deploy') {
            steps {
                git( url: 'git@git:website-cdn' )
                sh 'ETCDCTL="ssh deployer@cloud /opt/bin/etcdctl" KEY="/cdn/repos/website" set-key-to-git-repo'
            }
        }
    }
}

Well, with the exception I really need to get Irrigation deployed to replace this process that was relatively easy.

Boot strapping Jekyll

To get Jekyll installed is fairly simple. Although they make the assumption you are will to globally install the Gem it is easily worked around.

rbenv local 2.5.3
cat >>Gemfile
source 'https://rubygems.org'

gem 'jekyll'
^D

bundle install
jekyll new website

This will generate all sorts of artifacts under the website directory. For now I removed the default _post file, updated the contact and deployment details in _config.yml, and rewrote the about & index page. This produces a decent start for the domain. The template is workable for now but I would love to tweak this as time goes on.