-
Notifications
You must be signed in to change notification settings - Fork 26
Release process
Justin Littman edited this page Oct 29, 2015
·
26 revisions
- For each component that has changed:
- Decide on the version increment (using semantic versioning). Each component will have its own version number.
- Create any necessary versioned docker image definitions, e.g., "docker/app-prod/0.2.0". (Note that the dockerfile may reference the version tag which will not exist until later in this process.)
- Change the version in any configuration files (e.g.,
setup.py,conf.pyorlocal_settings.py). - Create a github release. The tag version should be the version number, e.g., "0.2.1". The tag title should be "v" followed by the version number, e.g., "v0.2.1". Provide release notes as the release description. For now, mark the release as not ready for production.
- In Docker Hub, add a new build setting and change the “latest” build setting to reference the new versioned docker image definition for each versioned docker image definition. When completed, trigger a build.
- For sfm-docker:
- Decide on the version increment, incrementing for the largest change of any component.
- Update the versions of the components in
prod.docker-compose.ymland commit. - In a test environment, instantiate containers using
prod.docker-compose.ymland run smoke tests. - Create a github release, following directions above. The release notes should provide an overview of the release, as well as linking to the release notes of all changed components.
- Deploy the release to production and run smoke tests.
- Announce the release on sfm-dev list.