forked from aeolusproject/conductor
-
Notifications
You must be signed in to change notification settings - Fork 0
Integration_Environment_+_Automated_Tests
Matt Wagner edited this page Oct 25, 2012
·
1 revision
Recently we’ve been suffering a lot of integration pain. Much of this could be avoided by a continuous integration environment and frequently running integration tests. This document discusses the high level components involved in creating a system.
- Build rpms on code check-in to next
- Publish new rpms to an internal yum repo
- Update rpms on ‘demo box’ or reprovision entirely
- Run automated test suite against ‘demo box’
- Report failures
- Tag ‘good’ builds
- Manage rpm publication to fedorapeople
- Monitor repo & kick off all the action
- May host internal yum repos, or may rsync rpms elsewhere
- Possibly use hudson’s ability to tag builds retroactively upon success
- Explore use of mock to build a variety of yum repos.
- Communicate results via email/irc/redmine
- Need somewhere to host internal yum repos
- How often do we empty this? How do we know which rpms are good?
- Configured to know about internal yum repos
- Updated/available for testing
- We may want some redundancy here, or the ability to have one box more stable for impromptu demos w/o worry about instability from the last automated build.
- Perhaps only take ‘tagged builds/rpms’