|
| 1 | +# Validator Update Guide |
| 2 | + |
| 3 | +## Prerequisites |
| 4 | + |
| 5 | +Installation of the following on a local machine |
| 6 | + |
| 7 | +- [Maven](https://maven.apache.org/) |
| 8 | + - Installation (Debian): [How to Install Apache Maven on Debian 11](https://www.itzgeek.com/how-tos/linux/debian/how-to-install-apache-maven-on-debian-11.html) |
| 9 | + |
| 10 | +- [Docker](https://www.docker.com/) |
| 11 | + - Installation (Debian): [Install Docker Engine](https://docs.docker.com/engine/install/) |
| 12 | + *Note:*If the os is a fork from Debian, e.g. LMDE, replace $(. /etc/os-release && echo “$VERSION_CODENAME”) with $(echo <Debian- version-codename>) |
| 13 | + Where <Debian-version-codename> e.g. bookworm (lowercase) for Debian. |
| 14 | + |
| 15 | +- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) |
| 16 | +- [AWS Toolkit (optional)](https://aws.amazon.com/search/?searchQuery=toolkit) |
| 17 | + |
| 18 | +- HAPI-FHIR |
| 19 | + - The latest release of hapi-fhir can be found at [github.com/hapifhir/hapi-fhir](https://github.com/hapifhir/hapi-fhir) |
| 20 | + - The changelog can be found at [hapifhir.io/hapi-fhir/docs/introduction/changelog](https://hapifhir.io/hapi-fhir/docs/introduction/changelog.html) |
| 21 | + |
| 22 | +## Update AWS Server |
| 23 | + |
| 24 | +- Go to https://github.com/NHSDigital/IOPS-FHIR-Validation-Service repo |
| 25 | +- Create a new branch named update/<hapi-fhir version-number> |
| 26 | +- edit pom.xml |
| 27 | + - Set the <fhir.version> to the relevant hapi-fhir version |
| 28 | + - Set the <version> to the same hapi-fhir version. |
| 29 | + |
| 30 | +- Within the validator folder run the following: |
| 31 | + - $ mvn clean install |
| 32 | + - $ docker build -t fhir-validator-r4 . |
| 33 | + - $ docker tag fhir-validator-r4:latest <account id>.dkr.ecr.eu-west-2.amazonaws.com/fhir-validator-r4:<hapi-fhir version-number> |
| 34 | + - $ docker tag fhir-validator-r4:latest <account id>.dkr.ecr.eu-west-2.amazonaws.com/fhir-validator-r4:latest |
| 35 | + |
| 36 | +- Login in to the AWS website |
| 37 | +- Click ‘Command line or programmatic access’ within NHS Digital IOPS FHIR dev |
| 38 | +- Sign into AWS using either: |
| 39 | + - Copy option 1 if using bash / windows / powershell |
| 40 | + - Copy Option 2 into credentials.txt if you have aws toolkit installed |
| 41 | + |
| 42 | +- run |
| 43 | + - $ aws get-login-password –region eu-west-2 | docker login –username AWS –password stdin <account id>.dkr.ecr.eu-west-2.amazonaws.com |
| 44 | + - $ docker push <account id>.dkr.ecr.eu-west-2.amazonaws.com/fhir-validator-r4:[hapi-fhir version-number] |
| 45 | + |
| 46 | +- In AWS go to ‘Management console’ |
| 47 | + - Search for ECR |
| 48 | + - Ensure the server is set to ‘eu-west-2’ |
| 49 | + - On the LHS choose repositories |
| 50 | + - Within Private repositories choose ‘fhir-validator-r4’ |
| 51 | + - Ensure the latest image is the recently uploaded version. |
| 52 | + |
| 53 | + - Search for ECS |
| 54 | + - Go to ‘Task definitions’ (on LHS) |
| 55 | + - Choose ‘iops-fhir-validation-service’ |
| 56 | + - Choose latest revision |
| 57 | + - Choose ‘Create new revision’ |
| 58 | + - Go to ‘Container-1’ section |
| 59 | + - Update the version number within the Image URI |
| 60 | + - Click ‘Create’ |
| 61 | + |
| 62 | + - Go to Clusters (on LHS) |
| 63 | + - Choose ‘iops-fhir-r4’ |
| 64 | + - Choose ‘svc-fhir-validator’ |
| 65 | + - Click ‘Update service’ |
| 66 | + - Change ‘Revision’ to the latest version |
| 67 | + - Click ‘Update’ |
| 68 | + This will start the checks. Logs can be found within CloudWatch. ECS is set up for 1 task only so the previous task will shut down automatically. |
| 69 | + |
| 70 | +## Create PR with new update |
| 71 | +Once the validator update has been checked to ensure no issues with the build create a GitHub PR and get it approved. Once approved create a new release and detail the changes made. |
| 72 | + |
| 73 | +# Run Validator instance on local machine |
| 74 | +$ mvn spring-boot:run |
0 commit comments