Support:Sumodev/Continuous Deployment: Difference between revisions
Jump to navigation
Jump to search
Line 10: | Line 10: | ||
* {{ok|Get JavaScript tests running on Hudson.}} [no tracker] | * {{ok|Get JavaScript tests running on Hudson.}} [no tracker] | ||
** {{ | ** {{risk|XUnit results from JS test suite.}} | ||
* {{done|Stop using SVN.}} [https://bugzilla.mozilla.org/show_bug.cgi?id=616703] | * {{done|Stop using SVN.}} [https://bugzilla.mozilla.org/show_bug.cgi?id=616703] | ||
* {{ok|Crontab in Git.}} [https://bugzilla.mozilla.org/show_bug.cgi?id=625376] | * {{ok|Crontab in Git.}} [https://bugzilla.mozilla.org/show_bug.cgi?id=625376] |
Revision as of 22:13, 2 March 2011
By the end of 2011, Support Engineering wants to move from big releases to Continuous Deployment. There's lots to do to reach that goal.
Measurable Goals
- A bugfix reaches production within 30 minutes of being checked in.
Q1 2011
- [ON TRACK] Get JavaScript tests running on Hudson. [no tracker]
- [AT RISK] XUnit results from JS test suite.
- [DONE] Stop using SVN. [1]
- [ON TRACK] Crontab in Git. [2]
- Script deployment.
Q2 2011
- Get release cycle down to one week.
- Replace branches with flags.
Q3 2011
Q4 2011
Action Items
Testing
- Expand unit test suite to cover front end and JavaScript.
- Organize test suite into unit/functional/acceptance/etc.
- Work with Web QA Automation to maximize automated coverage and combine results.
- Automated performance tests.
- Aggregation and graphs.
Infrastructure
- Define a secure, defensive, robust flow from source control to production.
- If someone steals James' laptop, breaks in, and commits an infinite loop, that change should not reach production.
- Automate push process.
Release Planning
There is a qualitative difference between deciding which work to group into a release and when to fix small bugs when changes go live immediately. Our concept of planning will have to change.
- Push every week. (By end of Q2.)
- Push every day.
- Push several times per day.
Features
- Support feature flags.
- Support features per group or percentage.