change and release management with jira and bamboo - atlassian summit 2010
DESCRIPTION
Change and Release Management with JIRA and Bamboo Jonathan Doklovic, Systems Bliss Kevin Behrens, Internet BroadcastingTRANSCRIPT
11
Change and Release Management with JIRA and Bamboo
Jonathan Doklovic, Founder, Sysbliss
Kevin Behrens, Release Manager, Internet Broadcasting
22
• Build and Integration Environment Consulting• Plugins
• Bamboo JIRA Versions• JIRA Workflow Designer• Bamboo Pre/Post Commands• Sysbliss AMF Server• JIRA Fight!
33
Software Used
44
Dev Life cycle
55
Build & Release• What works• Edit, build and test locally on developers workstation• Automated build in Bamboo after checkin• Features and bugs tracked in JIRA• Commits are linked to JIRA issues• JIRA issues and commits are linked to builds
66
Build & Release• Whatʼs missing• Central management of build versions• Releasing feature sets in JIRA• Builds based on release level• Parallel version development• Bamboo plan simplification
77
JIRA Versions to the rescue
• Give Bamboo ability to intelligently retrieve current version from JIRA, injecting it into the build
• Automatically release in JIRA upon successful build• Release and snapshot builds can be tracked back to bamboo and SCM• Automated tagging guided by version and release level• Automatically branch to next version after release
88
Demo• Build automation with JIRA Versions
99
Summary• Added a version variable to maven POM• Configured bamboo to build branches• Used JIRA versions to specify which versions to build• Used JIRA versions to build snapshots and releases
• Autobranch to next version• Tag current version• release version in JIRA
•
1010
• Internet Broadcasting is the leading provider of local Web sites, content, and advertising revenue solutions to the worldʼs largest and most successful media companies.
• Over 70 websites deployed in a shared environment• Publishing platform with 20 independently deployed components
1111
Change Management• Outages usually related to unexpected changes or problems in
software immediately after installation
• Communication is key• Developers need to know of changes in other parts of the system• Support needs to know about new features or changes• Operations needs to know what to install
1212
Change Management• Why this is important• Customers are fussy about uptime
• Why this was hard• Over 100 deployable artifacts - war files and rpms• Multiple levels of caching at CDN• SLAs with customers define maintenance windows
1313
Change Management• What was working• Automated builds• Artifacts stored in central dependency manager repository• Staging environment mirroring production• Skilled Operations staff deploying software
1414
Change Management• What was missing• Unified way to request deployment• Sane way to triage requests• No way to definitively link requests to a JIRA project/version• Difficult to see status of request prior to deployment• Difficult to see results after deployment• Process was poorly understood• Workflow was not programatically enforced• Workflow to support release/rollback
1515
JIRA Customizations to the rescue• Request for Change project created with• Custom issue types• Highly customized screens based on issue type• Custom field to link request with project being released
• plugin created to present a pulldown with projects and then versions in that project
• Multiple custom workflows• Version Resolution custom report
1616
Demo• Change & Release Management with JIRA Versions
1717
Custom workflow
1818
Q & A• What do you want to know?
1919