The document discusses how Puppet Labs builds and tests Puppet Enterprise. It describes Puppet Enterprise's use of continuous integration to frequently test code changes. The testing process includes unit, UI, system, and integration tests run across platforms. Changes are built, signed, and deployed to begin automated smoke and functionality testing to ensure quality before release. Future goals include expanding testing capabilities.
3. puppetconf.com #puppetconf
Agenda
• What makes Puppet Enterprise so special?
• What is this continuous integration thing
anyway?
• What does shipping Puppet Enterprise
look like?
• What does the future hold?
Saturday, August 24, 13
6. puppetconf.com #puppetconf
What does shipping Puppet Enterprise
look like?
• Tools and Technologies
• Testing Methodologies
• Putting it All together
Saturday, August 24, 13
10. puppetconf.com #puppetconf
In the beginning,there was code
• Jenkins pulls code from github
• Unit tests get run
• Package is built
Saturday, August 24, 13
11. puppetconf.com #puppetconf
Signing things is hard,yo
• A human looks up the new package
• signs it
• puts it in place for the PE build
• pushes the Big Red Button
Saturday, August 24, 13
12. puppetconf.com #puppetconf
Now the fun begins
• Automatic smoke testing on most-used
platforms
• Install PE, validate basic functionality
• UI tests for Console applications
• System tests for backend services
• Integration suite for complex interactions
Saturday, August 24, 13