Last active
June 1, 2017 20:44
-
-
Save mrblueblue/f6340631e82ca9f2f3d1e5d18c20281f to your computer and use it in GitHub Desktop.
Revisions
-
mrblueblue revised this gist
Jun 1, 2017 . No changes.There are no files selected for viewing
-
mrblueblue revised this gist
Jun 1, 2017 . 1 changed file with 12 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,21 +21,25 @@ #### Step 1: Release Branch Once the `develop` branch contains all the necessary features and fixes, we branch off and create a new "release" branch. This branch can be named anything. To create a release candidate, we "upload" this branch to the [Jenkins job](https://jenkins.mapd.com/job/mapd-immerse-release) called `mapd-immerse-release`. After it builds and all checks pass, we are ready to put the release candidate on the pre-production [`minos`](http://minos.mapd.com:8000/) server (this is something Michael or Andrew will do). #### Step 2: Releasing After the release candidate has been uploaded to [`minos`](http://minos.mapd.com:8000/) the release captain and QA will verify the stability of the application. Usually this takes the form of going over the "release checks" manually and/or using automated scripts to do the work. During this check process, new bugs might be found with the release candidate. When this happens, the release captain works with QA to triage the issue, either designating it as a regular bug or as a "release blocker" if it is serious enough. Fixes to release blockers are merged into the release branch. Once all checks have been done and no problems have been found, then the release is ready to be certified and made official. #### Step 3: Merging Back Once the release candidate has been officially certified and released we begin the process of merging back the release back back to master and from master back to develop. To merge the release branch into master, the release captain creates a PR. Once that is merged into master, another PR is made to merge master into develop. After all branches have been updated, we can now tag the master branch like so: ``` git tag $VERSION_TAG @@ -44,7 +48,9 @@ git push origin $VERSION_TAG #### Following Up Sometimes bugs will be found in the release that need to be "hotfixed" or "patched." The hotfix process largely follows the same steps as above, the key difference being the git workflow. To make a hotfix, we branch off the `master`, creating a hotfix branch. This branch serves virtually the same function as a release branch. Once the hotfix is certified, we cherry-pick the changes to `master` and `develop`. ### Tips * DO keep in contact and communicate with QA and the release channel. It always better to give more information and pre-emptively notify people on the status of the release. -
mrblueblue revised this gist
Jun 1, 2017 . 1 changed file with 26 additions and 11 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,7 +4,7 @@ ##### Release Captain > the team member responsible for managing the release branch and communicating with QA and management about the status of the current release ##### Release @@ -14,24 +14,39 @@ > a snapshot of MapD Core and Immerse that is meant to be "released" ### General Steps 1. Create a release branch from develop 3. Check for release stability and then release 4. Merge release branch into master/develop #### Step 1: Release Branch After all features and fixes that we want to be part of the release have been merged into `develop`, we branch off and create a new release branch. This can be named anything. To create a release candidate, we "upload" this branch to the [Jenkins job](https://jenkins.mapd.com/job/mapd-immerse-release) called `mapd-immerse-release`. After it builds and all checks pass, we are ready to put the rc on the pre-production `minos` server (this is something Michael or Andrew will do). #### Step 2: Releasing After the rc has been uploaded to [minos](http://minos.mapd.com:8000/) the release captain and QA will verify the stability of the application. Usually this takes the form of going over the "release checks" If Once #### Step 3: Merging Back Once the rc has been officially certified and released we begin the process of merging back the release back back to master and from master back to develop. ``` git tag $VERSION_TAG git push origin $VERSION_TAG ``` #### Following Up ### Tips * DO keep in contact and communicate with QA and the release channel. It always better to give more information and pre-emptively notify people on the status of the release. * DO be aware of team bandwidth. Sometimes issues will need to be fixed to unblock a release. Be aware of what other team members are working on and always * DO triage newly found issues. The `release blocker` tab carries a lot of weight, so make sure that the issue is critical enough to warrant the label -
mrblueblue revised this gist
May 31, 2017 . 1 changed file with 8 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -19,12 +19,19 @@ 3. Check for release stability 4. Merge release branch into master/develop ### General Guidelines * DO keep in contact and communicate with QA and the release channel. It always better to give more information and pre-emptively notify people on the status of the release. * DO be aware of team bandwidth. Sometimes issues will need to be fixed to unblock a release. Be aware of what other team members are working on and always * DO triage newly found issues. The `release blocker` tab carries a lot of weight, so make sure that the issue is critical enough to warrant the label #### Step 1: Release Branch After all features and fixes that we want to be part of the release have been merged into `develop`, we branch off and create a new release branch. This can be named anything. To create a release candidate, we "upload" this branch to the [Jenkins job](https://jenkins.mapd.com/job/mapd-immerse-release) called `mapd-immerse-release`. After it builds and all checks pass, we are ready to put the rc on the pre-production `minos` server (this is something Michael or Andrew will do). #### Step 2: Release Checks In this step #### Step 3: Merging Back -
mrblueblue created this gist
May 31, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,30 @@ ### Releasing ### Terms ##### Release Captain > the team member responsible for cutting a rel ##### Release > a stable snapshot of MapD Core and Immerse that contains all the desired features to be "released" ##### Release Candidate (RC) > a snapshot of MapD Core and Immerse that is meant to be "released" ### General Outline 1. Create a release branch from develop 3. Check for release stability 4. Merge release branch into master/develop #### Step 1: Release Branch After all features and fixes that we want to be part of the release have been merged into `develop`, we branch off and create a new release branch. This can be named anything. We then "upload" this branch to the [Jenkins job](https://jenkins.mapd.com/job/mapd-immerse-release) called `mapd-immerse-release`. After it builds and all checks pass, then we are ready #### Step 2: Release Checks #### Step 3: Merging Back