6. Continuous Integration
It is the practice of merging
all developer workspaces
with a shared mainline
several times a day.
http://en.wikipedia.org/wiki/Continuous_integration 6
7. Continuous What?
• Build
• Test
– Unit tests, integration tests…
• Analysis
• Feedback
• Publish
• Deploy
• ... most tedious things!
7
8. What To Be Integrated?
• People
• Code
• Environment
• Report
• Thought
• ... everything valuable!
8
9. OR NOTIFY?
Why Developers <3 CI: A Guide to Loving Continuous Integration by Rebel Labs 9
http://zeroturnaround.com/rebellabs/why-developers-love-ci/
10. Jez Humble, David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, 10
2010, Addison-Wesly
11. Jez Humble, David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, 11
2010, Addison-Wesly
12. Ticket for CI
• SCM system
• Build scripts/tools
• Automated test cases
• Artifact repository
• Fast, highly available machines
• Open-minded members
12
13. Power Tools
CI Servers Build Automation Tools Artifact Repositories Test Frameworks Code Analysis
Why Developers <3 CI: A Guide to Loving Continuous Integration by Rebel Labs 13
http://zeroturnaround.com/rebellabs/why-developers-love-ci/
14. Paul M. Duvall et al, Continuous Integration: Improving Software Quality and Reducing Risk, 2007, Addison-Wesley 14
16. Personal Information
• Child of Kohsuke Kawaguchi (川口耕介)
• Renamed from Hudson
– Had cosmetic surgery at the same time
portrait before the surgery
16
24. CI Practices
• Everyone commits at least once a day.
• Keep the build fast.
– An unit test is just an UNIT test.
– Replace dependencies with mocks.
• 100% of tests must pass for every build.
• Fixing broken builds is of the highest priority.
• Someone review reports generated by the build.
http://www.martinfowler.com/articles/continuousIntegration.html & Paul M. Duvall et al, Continuous Integration 24
27. s/green/blue/g
• It's not for color blind users.
• It's all about (influenced by ):
• Green Balls Plugin
青 Cyan #00FFFF
– https://wiki.jenkins-ci.org/display/JENKINS/Green+Balls
http://jenkins-ci.org/content/why-does-jenkins-have-blue-balls 27
28. • Gravatar - Globally Recognized Avatar
• Register your own avatar
– at https://en.gravatar.com/
• Easy identification easy
28