Difference between revisions of "CI Fundamentals"

From CitconWiki
Jump to navigationJump to search
(New page: == What is CI? == * Source code management integration * Removes repetitive, laborious actions * Automated tests? ** Sometimes * Automated builds? ** Fancy cron job, build scripts * Autom...)
(No difference)

Revision as of 22:27, 27 July 2007

What is CI?

  • Source code management integration
  • Removes repetitive, laborious actions
  • Automated tests?
    • Sometimes
  • Automated builds?
    • Fancy cron job, build scripts
  • Automated deployments?
    • Seldom
  • Standards / Conventions / Metrics
    • Coverage metrics
    • Code style, format
    • Development team metrics
  • Something more ... ?

Continuous Integration

  • Continuous = ALL THE TIME
  • Integration = Combining the changes from all developers
  • When should I check in?
    • As often as possible
    • Make “more often” more possible
  • What should I do before I check in?
    • Shout out, have conversation – especially when you’ve just made cross-cutting or complex changes
    • Is it already broken?
    • Update from SCM repository
    • Pre-commit build
  • How long should it take?
    • As quick as possible
    • Make “more quick” more possible
    • < 10 minutes (this is already painfully long)