Newer
Older
1. Start the database docker service in `tools/db`.
2. Install [OCCMD](https://gitlab.opencode.de/opencode-analyzer/occmd-public.git) and edit the
script `resources/scripts/occmd.sh` to point at the executable.
The default implementation of the script expects a docker container with the name occmd to be present. A Dockerfile
is contained in this repository in `tools/occmd`.
3. Set the necessary environment variables, which are used in the application.properties:
opencode.access-token=${OC_GL_APIKEY} // this is the api key for opencode
// either connect to a local postgresql db or the deployed test db
// the test db is a cockroach db and the expected url schema looks as follows:
// #spring.datasource.url=jdbc:postgresql://${host}:26257/${DB_USER}?sslmode=${ssl_mode}&sslrootcert=${ca_crt}&sslcert=${ssl_cert}&sslkey=${ssl_key}
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PW}
# OCCMD specific settings
// path to the occmd tool executable
// this can e.g, be the occmd.sh script in this project
occmd.occmd-path=${OCCMD_PATH}
// The api key is needed for all routes.
// the admin password is needed for the repo changed route.
// It is expected as basic auth with the admin username
// details can be found in configuration/security/WebSecurityConfiguration.kt
// a local repository to which the git repositories are temporarily cloned.
// they are automatically deleted after every tool run.
directories.git-clone-target-directory=${GIT_CLONE_TARGET_DIRECTORY}
```
Make sure that the db settings match the values in the database dockerfile!
If you are using IntelliJ for development it is easiest to create a `.env` file in the `resources` folder.
This file is automatically loaded by the IDE.
4. Import the project into your IDE or use the commandline to build the application and run the server. For details on
how to run the program manually consider the spring boot documentation.
### Important Note for the dev deployment and testing.
The dev ORT API doesn't have results for all projects. Thus make sure to edit the `MetricsService.kt` to
point to the repository with id 106 for testing purposes.