Deployment overview
under review
- Developers push code updates to Github for approval.
- Github Webhook sends notification to Jenkins to kick-off the build process.
- Jenkins compiles, packages and tests the code.
- Successful builds are pushed to the Docker Registry
- Development environment is automatically updated to reflect the latest changes.
- Full QA Test Suite, including Cucumber, OWASP and PA11Y tests are run against the development environment.
- A new release is created in JIRA with concise release notes outlining the purpose of the release. Any tickets that have been completed to create the release should have their versions set to this release. The build is pushed to stage at this point as a release candidate and is ready for further acceptance testing.
- Once the build has been accepted it can be promoted to production.
- All platforms use identical build artefacts which are pulled from the Docker Registry as part of the release process.
- At each step, developers receive feedback from monitoring, alerting and reporting.
Additional Information
- Add Fix version to the Jira ticket, for example beta-011
- Edit the release confluence page for the version for example https://hee-tis.atlassian.net/wiki/display/TISDEV/beta-011 to add the notes about the change and add issues if not already done by using {jira} filter tag and using the fix version as fixversion = "beta-011"
- Edit the corresponding releases file to include the actions in the https://github.com/Health-Education-England/TIS-DEVOPS/tree/master/ansible/releases
- On the day of release build the release- {env}
jenkins job with the right release parameter.
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213