- Please use
draw.io
and export the charts always as svg with the embedded diagram. - Please document only with
Markdown
.
- Please develop according to the Gitflow Workflow
- Please document the issue and git commit type in each git commit
- Please ensure code formatting rules are applied before committing (we use
Resharper
, but also enforced basic rules viaEditorconfig
)
Each developer must ensure that only open source compliant third party dependencies or code snippets are used! For third party libraries, we also track vulnerabilities and OSS compliance of licenses with OWASP Dependency Track. To execute Dependency Track locally, simply run:
docker volume create --name dependency-track
docker run --rm -p 8080:8080 --name dependency-track -v dependency-track:/data owasp/dependency-track
Then upload the SBOMs generated with CycloneDX module for .NET and CycloneDX Node.js Module:
dotnet tool install --global CycloneDX; npm install -g @cyclonedx/bom
dotnet CycloneDX .\src\SubmissionEvaluation.sln -o . -gu <github-username> -gt <github-token>; mv bom.xml bom-dotnet.xml
cyclonedx-bom -o bom-nodejs.xml .\src\SubmissionEvaluation\Client
Note: to resolve github licences, generate a github token without specific rights (https://github.com/settings/tokens/new)
Prerequesites
- Team preference:
- But feel free to use your own preferred tooling, e.g.:
Building Developer-Version
- You need either Windows or Linux with Docker installed
- Clone repository and switch into the cloned repository
- Build docker test image
docker build -t test -f src/docker/test.dockerfile src/docker
- Build the webhost image
docker build -t webhost --build-arg target=Debug -f src/docker/aspnet.dockerfile .
- Run system:
- Windows:
docker run -it --rm -v %cd%/web:/web -v /var/run/docker.sock:/var/run/docker.sock -p 80:80 webhost
- Linux:
docker run -it --rm -v
pwd/web:/web -v /var/run/docker.sock:/var/run/docker.sock -p 80:80 webhost
- Windows:
- Finally attach the debugger of your choice to the running docker container
Building Release-Version
- You need either Windows or Linux with Docker installed
- Clone repository and switch into the cloned repository
- Build docker test image
docker build -t test -f src/docker/test.dockerfile src/docker
- Build the webhost image
docker build -t webhost --build-arg target=Release -f src/docker/aspnet.dockerfile .
- Run system:
- Windows:
docker run -it --rm -v %cd%/web:/web -v /var/run/docker.sock:/var/run/docker.sock -p 80:80 webhost
- Linux:
docker run -it --rm -v
pwd/web:/web -v /var/run/docker.sock:/var/run/docker.sock -p 80:80 webhost
- Windows:
“Almost without Docker” means, that the sln project itself can be build without docker. However, the
test
image must still be builddocker build -t test -f src/docker/test.dockerfile src/docker
from project root folder, as it provides the necessary compilers.
Prerequesites
- dotnet Core SDK 3.1
- NodeJs and NPM
- Docker (is still needed to run the submissions)
Building & Running the Developer-Version
Steps:
- Build docker test image:
docker build -t test -f src/docker/test.dockerfile src/docker
- Install & pack the node dependencies:
pushd src\SubmissionEvaluation\Client; npm install; npm run wbp; popd
- Build & publish the dotnet project:
pushd src\; dotnet restore; dotnet publish; popd
- Ensure the path in
src\SubmissionEvaluation\Server\bin\Debug\netcoreapp3.1\publish\appsettings.json
points to"DataPath": "../../../../../../../web"
- To run the system, execute:
pushd src\SubmissionEvaluation\Server\bin\Debug\netcoreapp3.1\publish\; dotnet .\SubmissionEvaluation.Server.dll
- Tailor the challenge platform to your needs via the
web\settings.json
file. - At the first start, opens the website a setup page to add an admin account. Therefore, you have to enter the security key which you can either find in the generated file
web\security_token.txt
.