2. Content
• Why do we need CI
• Why Hudson
• How does it work
• Problems
• Things to improve
Thursday, September 22, 2011
3. Why do we need CI
• Automated build process
• Consistent repository
• Automated testing
• Simple way to get the latest deliverables
Thursday, September 22, 2011
5. How does it work
system
daemon
web UI
bash script
Thursday, September 22, 2011
6. Problems
• Provisioning Profiles
• Hudson restart after system rebooting
• Jobs’ visibility for different users
• Frequent Xcode updates
• Access to keychain for different users
Thursday, September 22, 2011
7. Things to improve
• Startup after rebooting
• Unit tests
• Static analyzing
• Shared system user name for Hudson
Thursday, September 22, 2011