Repository conventions
Repositories should be setup with the following conventions to ensure consistency and to ensure the CI pipeline functions correctly.
Structure
The following structure should be adhered to for all repositories. Note that not all contents will be applicable depending on the nature of the service.
<root>changelog- Liquibase changesets
docshelm/<repository name>- Helm chart for the service
scripts- Scripts to support local development and testing
.dockerignore.gitignore.pre-commit-config.yaml.snyksecrets.baselineDockerfileJenkinsfileLICENCEREADMEdocker-compose.debug.yamldocker-compose.link.yamldocker-compose.migrate.yamldocker-compose.override.yamldocker-compose.test.debug.yamldocker-compose.test.watch.yamldocker-compose.test.yamldocker-compose.yamlprovision.azure.yamlsonar-project.properties
Node.js
In addition to the above, Node.js services should include the following content.
<root>app- All application code
testunit- Unit tests
integrationnarrow- Narrow integration tests
local- Local integration tests
contract- Contract tests
acceptance- UI and compatibility tests (for frontend applications)
.NET
In addition to the above, .NET services should include the following content.
<root><Project Name>- All application code
<Project Name>.Tests- Application tests