Maven projects currently has two types of structures, refer below example projects.
https://github.com/Health-Education-England/TIS-REFERENCE (<servicename>-api, <servicename>-client, <servicename>-service, <servicename>-ui)
https://github.com/Health-Education-England/TIS-REVALIDATION
Node project - https://github.com/Health-Education-England/TIS-COMMON-COMPONENTS
Npm project - https://github.com/Health-Education-England/TIS-ADMINS-UI
All of the above project types have their own jenkins project which will get built on github push to the master branch and on sucess trigger the same service pipeline https://build.tis.nhs.uk/jenkins/job/service-pipeline/ with the exception of admins-ui project which uses https://build.tis.nhs.uk/jenkins/job/admins-ui-pipeline/ and will be merged into main pipeline once we start using the master branch.
Example of the entire flow.
- https://build.tis.nhs.uk/reports/service-registry (to know the versions deployed on each environment)
- https://github.com/Health-Education-England/TIS-TCS
- https://build.tis.nhs.uk/jenkins/job/tcs/
- https://build.tis.nhs.uk/jenkins/job/service-pipeline
- https://build.tis.nhs.uk/jenkins/job/tcs/ with final parameter
- modify https://github.com/Health-Education-England/TIS-DEVOPS/blob/master/ansible/vars/stage/platform.yml
- create release file ex: https://github.com/Health-Education-England/TIS-DEVOPS/blob/master/ansible/releases/TIS-07/main.yml, with new release number
- this automatically triggers https://build.tis.nhs.uk/jenkins/job/devops/ (wait for the job to complete)
- https://build.tis.nhs.uk/jenkins/job/release-stage/ (with param ex: TIS-11)
- https://build.tis.nhs.uk/jenkins/job/ci-stage/
- modify https://github.com/Health-Education-England/TIS-DEVOPS/blob/master/ansible/vars/prod/platform.yml
- make sure release file existshttps://github.com/Health-Education-England/TIS-DEVOPS/blob/master/ansible/releases/TIS-07/main.yml
- https://build.tis.nhs.uk/jenkins/job/release-prod/ (with new release number ex: TIS-11)
Add Comment