In this advanced session, we will investigate all the ways that you can automate your testing processes with TestBox and many CI and automation tools. From Jenkins integration, Travis CI, Node runners, Grunt watchers and much more. This session will show you the value of continuous integration and how to apply it with modern tools and technologies.
Main Points
Why we want to automate
Continuous Integration
ANT/CommandBox Test Runner
Setup of a Jenkins CI server
Travis CI integration
Pipelines CI integration
Node TestBox Runners
Grunt Watchers and Browser Live Reloads
13. AGENDA
• Proven event-driven ColdFusion Framework
• Follows OO principles and best practices
• Conventions Based
• Non-intrusive framework you code in ColdFusion
• More than MVC => ColdBox Platform
• SoftwareToolkit
• Remote Framework
• NOT A MAGIC FRAMEWORK,YOU STILL NEEDTO CODE!!
18. RUN TESTS
• Execute bundles via the URL
• http://localhost/tests/bundle.cfc
• SOAP Runner
• HTTP/REST Runner
• ANT Runner
• NodeJS Runner
• CommandBox Runner
• Custom Runner
19. HOW IT WORKS?
TESTBOX REPORTERS
•ANTJunit :Variant of JUnit for Jenkins
•Codexwiki : Mediawiki syntax
•Console : Server console
•Doc : Semantic HTML
•Dot :Awesome Dots
•JSON
•JUnit
•Raw : CFML Struct
•Simple :A basic HTML reporter
•Text : Back to the 80’s,Text
•MinText : Great for CommandBox Runners
•XML
•Tap :A test anything protocol reporter
•Min : Minimalistic Report
30. • Luis Majano
• Computer Engineer
Jenkins + CommandBox
wget http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war
box server start warpath=jenkins.war
1
2
31. Jenkins Features
•FREE - Open Source Java application
•Not so easy to configure and use
•CI = Jenkins Jobs
•Thousands of plugins and extensions
•Jobs can be scheduled, parallelized, executed over different
machines
•Jenkins Slaves
•Powerful but convoluted
32. Travis CI - Sign Up
https://travis-ci.org/
Sign Up
1
2
33. Travis Features
•FREE for Open Source Projects
•Runs distributedVM’s and Container Support
•Triggers Build Script via git repository commits (.travis.yml)
•Multiple language support
•Many integrations and extensions
•Many notification types
•No ability to schedule/manual builds
•Great for open source projects!
39. Gitlab Features
• All in one tool: CI, repository, docker registry, issues/milestones, etc.
• Same asTravis in concept - CI Runner
• Docker based
• CI Runners can be decoupled to a docker swarm
• Idea of CI pipelines
• Pipelines composed of jobs executed in stages
• Jobs can have dependencies, artifacts, services, etc
• Schedule Pipelines (Cron)
• Jobs can track environments
• Great stats + charting