Skip to content

DEFRA/trade-exportscore-trp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

trade-exportscore-trp

Prerequisites

  • Docker
  • Docker Compose (installed when Docker Desktop is installed - no separate installation is required).

Running the application

The application is designed to run in containerised environments, using Docker Compose in development and ACA in production.

Build container image

Container images are built using Docker Compose.

When using the Docker Compose files in development the local app folder will be mounted on top of the app folder within the Docker container, hiding the CSS files that were generated during the Docker build. For the site to render correctly locally npm run build must be run on the host system.

By default, the start script will build (or rebuild) images so there will rarely be a need to build images manually. However, this can be achieved through the Docker Compose build command:

# Build container images
docker-compose build

NOTE The image build process requires authentication to pull code from a private GitHub repository. To achieve this, the Docker build process uses an SSH private key, which must be present locally. For security reasons, the private key file ssh-private-key is not included in the GitHub repository. Please reach out to a colleague to obtain a copy. After obtaining the file, place it in the root folder of the repository. It will not be checked into GitHub, as it is listed in the .gitignore file.

Start

Use Docker Compose to run service locally.

  • run db migrations up
    • make db-up
  • run db migrations down
    • make db-down
  • Build app image
    • make app-build
  • start app
    • make app-up
  • stop app
    • make app-down or CTRL-C
  • run Lint
    • make prettier
  • run unit tests
    • make tests

Test structure

The tests have been structured into subfolders of ./test as per the Microservice test approach and repository structure

Running tests

A convenience script is provided to run automated tests in a containerised environment. This will rebuild images before running tests via docker-compose, using a combination of docker-compose.yaml and docker-compose.test.yaml. The command given to docker-compose run may be customised by passing arguments to the test script.

Examples:

# Run all tests
scripts/test

# Run tests with file watch
scripts/test -w

Troubleshooting

If you receive the following error:

Docker not found error

please check docker is running. The message is interesting but, more importantly, so far wrong...

Debugging

After much fun, please refer to the Debugging file for information on how (and where) to debug your tests.

CI & CD Pipeline

This service uses the DEFRA/ado-pipeline-common for Builds and Deployments.

Licence

THIS INFORMATION IS LICENSED UNDER THE CONDITIONS OF THE OPEN GOVERNMENT LICENCE found at:

http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3

The following attribution statement MUST be cited in your products and applications when using this information.

Contains public sector information licensed under the Open Government license v3

About the licence

The Open Government Licence (OGL) was developed by the Controller of Her Majesty's Stationery Office (HMSO) to enable information providers in the public sector to license the use and re-use of their information under a common open licence.

It is designed to encourage use and re-use of information freely and flexibly, with only a few conditions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •