Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Into The Box 2018 CI Deep Dive


Published on

Jon Clausen

Published in: Software
  • Login to see the comments

  • Be the first to like this

Into The Box 2018 CI Deep Dive

  1. 1. C I F O R C F M L D E E P D I V E
  2. 2. Me: Jon Clausen Team Ortus Member Grand Rapids, Michigan
  3. 3. C O N T I N U O U S I N T E G R AT I O N • the process of automating the build and testing of code when commits are pushed to source control • encourages developers to share their code and unit tests upon task completion • helps to avoid the problems of merge conflicts, hard to fix bugs, diverging code strategies, and duplicated efforts
  4. 4. C O N T I N U O U S I N T E G R AT I O N • encourages short-lived feature branches to isolate developers work • increases developer confidence and productivity by providing an automated safety net • test automation ensures consistent quality
  5. 5. C O N T I N U O U S D E L I V E RY • software is built and deployed via automation as features are merged in • prioritizes maintaining deployable software over extended, potentially destructive development • provides fast, automated feedback on production readiness of software
  6. 6. C O N T I N U O U S D E L I V E RY • utilizes a deployment pipeline to provide increasing confidence in readiness • provides early evaluation of performance, security or usability issues before they are introduced to the production tier • promotes collaboration between the various groups involved in delivering software  - developers, product owners, affected departments
  7. 7. H I S T O R I C A L C H A L L E N G E S • CFML Servers are coupled to the JVM - including the version • BC ( Before CommandBox ), complex configurations were required just to be able to start the server, let a lone test • Tooling for automated testing was limited
  8. 8. E N T E R C F M L - C O M PAT I B L E C L I T O O L I N G
  9. 9. C O N T I N U O U S I N T E G R AT I O N A N D D E P L O Y M E N T F O R C F M L A P P S 
  10. 10. J E N K I N S • Powerful CI server and Task manager • Open-source, self hosted • Pipelines are managed via plugin infrastructure and “pipeline scripts” which use a Jenkins-specific syntax. • Mature with many community integrations and plugins I N F O C U S :
  11. 11. T R AV I S C I • Cloud-provided CI/CD service • Used extensively for building open source projects • Commercial plans available for private projects • YAML-based syntax I N F O C U S :
  12. 12. G I T L A B • Turn-key solution for source control, CI, and Docker registries ( plus whole bunch of other goodies ) • Open source community edition • Available as self-hosted and cloud-hosted service. • YAML-based pipeline configuration I N F O C U S :
  13. 13. B I T B U C K E T P I P E L I N E S • Atlassian product - integrated with other software offerings ( JIRA, Confluence, HipChat ) • Support for Docker in pipelines ( but not compose at this time ) • YAML-based pipeline configuration I N F O C U S :
  14. 14. S H A L L O W D I V E : T R AV I S C I
  15. 15. S H A L L O W D I V E : B I T B U C K E T P I P E L I N E S
  16. 16. D E E P D I V E : G I T L A B C I
  17. 17. G E T T I N G S TA R T E D : • Write your tests! • Identify a CI/CD platform • Craft your test and deployment steps • Sit back and watch cool things happen!
  18. 18. Q & A