Continuous Integration

Posted by Isabel Vazquez on February 1, 2018
[ continuous-integration  travis-ci  ]

I recently added Travis CI successfully to my static personal site.

This showed up multiple times on my CI build as I did not exclude vendor on my _config.yml file.

Imgur

I also ran my CI script locally while comparing to the Travis build. Once I excluded vendor, both builds showed the following errors with internal scripts on HTML files. I ended up modifying the htmlproofer constructor to only check problems with external references: bundle exec htmlproofer --assume-extension --external_only --only-4xx --http-status-ignore "403,429" ./_site

Imgur

17th time is the charm!

Imgur

Continuous integration is the immediate and daily integration of code into one shared repository that involves developers checking-in before sending the code to an automated build, often with testing suites included. The CI server then follows the build scripts and goes green for passing or red for failing, complete with log messages.

On my personal site, I am the sole developer and do not have tests at the moment or any formal check-in process. But I enjoyed bringing Travis CI to my repository because I

  • got a brief introduction to CI practices
  • became acquainted with writing scripts, thanks to this documentation on Jekyll
  • was introduced to checking the DNS, site build, and HTML files automatically

Cheers to good developer practices and happy coding!