What is Kickoff.
KickOff is a continous website monitoring tool, which can be integrated into your continous integration or continous deployment process or just be called as a standalone test of our website. You define rules to monitor your websites behaviour and output and get the results in a phpunit like manner, either as console output or as junit/csv-log for further processing.
Why Kickoff.
As a webdeveloper, it is not easy to always think about all the aspects of a webpage. There are issues like security, seo, performance and other individual requirements to your website, which are vital to a good seo ranking or a good user experience. So a poor intern has to manually check all your requirements by hand, on launch day and on regular basis. Those requirements might be:
- Provide an X-XSS-Protection header.
- Deliver an HTML document in less than 1 second.
- Your redirects should use a 301 header
- Your cookie should be accessible via HttpOnly
- Your title tag should only be 70 characters long
- [...]
To make sure, these requirements are always met, you best test during your CD cycle, that nothing broke at your live site. A missing X-Frame-Options header or a wrong HTTP response status code can be fatal for your users or your seo rankings. Entrance kickoff.
Installation
There are two ways to install kickoff.
Phar
Visit the Releases-Tab on github and download the latestest releases kickoff.phar file.
Composer
composer require frickelbruder/kickoff
Example usage
Be sure, to change the host settings in the following example file.
Phar
./kickoff.phar run example/seo.yml
Composer
./bin/kickoff.php run example/seo.yml
Example output:
Integration to CD
Kickoff is able to write a jUnit compatible log file. Just add the appropriate parameter:
./bin/kickoff.php run -j build/logs/kickoff.xml example/seo.yml
You can now run kickoff in your CD process and let eg. jenkins read the results of the kickoff.xml. Just use the JUnit parser.