canmove, Confirmed users
1,511
edits
m (moved Socorro/Release Branch Proposal to Socorro/Release Branch Strategy: rename) |
(quick svn->git, hudson->jenkins pass) |
||
| Line 13: | Line 13: | ||
* manual application of patches | * manual application of patches | ||
** can result in errors or inconsistent state across servers | ** can result in errors or inconsistent state across servers | ||
** bypasses our usual | ** bypasses our usual Jenkins unittest->staging push | ||
*** we generally check into trunk first, so this is somewhat mitigated | *** we generally check into trunk first, so this is somewhat mitigated | ||
** more time-consuming and manual than our automated package install | ** more time-consuming and manual than our automated package install | ||
| Line 20: | Line 20: | ||
= proposal = | = proposal = | ||
1) For each each scheduled version (for example | 1) For each each scheduled version (for example 2.2.1), create a branch at freeze time | ||
* this opens | * this opens master up for immediate future development (2.3) | ||
* could create the branch in advance, but would rather limit the divergence between trunk and branch | * could create the branch in advance, but would rather limit the divergence between trunk and branch | ||
2) For each major.minor.patch version (for example | 2) For each major.minor.patch version (for example 2.2.2), devs check changes into trunk and merge to branch | ||
* manual process; not all patches are applicable to both | * manual process; not all patches are applicable to both | ||
3) | 3) Jenkins will automatically run tests, create package, and publish for staging | ||
* | * Jenkins needs a very simple config change for each git branch | ||
** | ** each branch has it's own job, for example: | ||
*** https://jenkins.mozilla.org/job/socorro-master | |||
*** https://jenkins.mozilla.org/job/socorro-release | |||
4) The package | 4) The package Jenkins made for staging is available for automated production install | ||
* totally scripted, limits potential for errors | * totally scripted, limits potential for errors | ||