Skip to content

mgmt__release_and_deployment_process

Malte Brunnlieb edited this page Jun 16, 2017 · 44 revisions
Table of Contents

Release and Deployment Process

Template for release tasks (markdown)
**Release tasks:**
***1. Preparation***
* [ ] Check running maven build on the development branch `mvn clean install`
  * especially for eclipse plugin release run `mvn clean install` in cobigen-eclipse folder to run SWTBot UI tests locally. **Keep patient, do not touch mouse and keyboard.**
* [ ] Check if all tests are green and if there are no ignored ones left. As there are ignored ones, please check them if they can be removed or they only should be temporarily ignored. Potentially fix them.
* [ ] Check/Update documentation according to changelog to be released
  * [ ] Update the wiki submodule and commit the latest version to target the updated release version of the wiki

***2. Merging / Review***
* [ ] **Locally** merge development branch to master branch
  * [ ] Check for changed maven dependencies and document them. _As dependencies have been changed:_
    * [ ] check new dependencies with legal (in case of not yet used licenses).
    * **If there are any issues with the dependencies. Abort, get in contact.**
    * [ ] document the changes in the [ChangeLog of the dependency tracking](https://github.com/devonfw/tools-cobigen/wiki/mgmt_dependency-and-license-tracking).
    * [ ] create a new licensing document for the new version (just once for each eclipse/maven release). Find the latest document in [TeamForge](https://coconet.capgemini.com/sf/go/projects.apps2_devon/docman.root.devonfw.licenses.de) and upload a new version next to it. Chapter one is the only to be updated according to changed dependencies and included components.
  * [ ] Perform final review of merged contents
    * [ ] Are there any changes in a different module not corresponding to the current development branch? Try to find the cause and potentially discuss with the guy failing.
    * [ ] Any major issues, which would prevent from merging? Missing files, changes?
    * if ok - commit (if not yet done) **but do not push** to master branch 
    * if not - abort merge, cleanup working copy, and fix on dev branch

***3. Testing / Consolidation***
* [ ] Perform a final manual test of all issues resolved in the milestone to be released.
* [ ] Perform integration tests
  * especially for cobigen-eclipse if cobigen internal dependencies have been changed

***4. Deployment***
* [ ] Higher component version number to release version
* [ ] Fix versions of dependencies of the actual component to its release versions
* [ ] Close eclipse IDE
* [ ] In case of non-eclipse component: deploy to nexus by `mvn clean deploy` in the component's root folder
* [ ] In case of eclipse plug-in release: deploy eclipse updateSite by 
\```
cd cobigen-eclipse
mvn clean install -PuploadRelease
\```
* [ ] Check the update site `http://de-mucevolve02/files/cobigen/updatesite/stable/` by installing/updating it once to an eclipse distribution.
* [ ] Assure, that everything is committed and the working copy is clean
* [ ] Create a tag according to the naming conventions
* [ ] Push
* [ ] Close milestone and create new release with binaries on GitHub

***5. Follow-up***
* [ ] Merge master branch back to corresponding dev_ branch
* [ ] Create new Milestone (minor version update)
* [ ] increase version on dev branch to next minor version + SNAPSHOT
* [ ] Push
Clone this wiki locally