qbicsoftware / variantstore-service

The Variantstore is a Java/Groovy-based service application implemented using the Micronaut framework and enables storage and access to information on genomic variants and metadata from a connected database via a RESTful API.
MIT License
4 stars 1 forks source link

Docker for development testing #22

Closed muellerdo closed 4 years ago

muellerdo commented 4 years ago

Heyho QBiC team,

I wanted to offer the discussion about docker supported development.

Currently, the docker container is based on mounting/copying the compiled jar file into the container and running the jar.

I understand that in an clinical environment, fixation on stable and robust releases are essential. Additionally, limited internet connection can handicap docker utilization.

Nevertheless, as an alternative, it could be fruitful to compile the oncostore inside the container instead of local compiling and then run it afterwards via ./mvnw exec:exec.

This approach can increase the robustness and reproducibility during development, because it is easier to spot e.g. dependency errors due to the clean install inside a fresh container environment.

For my testing of the oncostore, I used your in-house docker-compose script with a custom Dockerfile for the variantstore-app. Basically, the app container just compiles the oncostore and runs it.

./mvnw clean compile
./mvnw exec:exec

Dockerfile: https://github.com/muellerdo/variantstore/blob/development/Dockerfile Docker-compose: https://github.com/muellerdo/variantstore/blob/development/docker-compose.yml

I am interested in your view on this topic. :) Thanks in advance for your time.

Cheers, Dominik Müller

christopher-mohr commented 4 years ago

Hi @muellerdo,

sorry for the late response! So the currently "used" docker-compose script was just intended as a quickly available solution for the development process of a different component that relies on the Variantstore. It is definitely not a sustainable solution.

I guess what you refer to are builds for the Variantstore that are automatically generated (SNAPSHOTS for development)?

I think we could use the QBiC build infrastructure for that. What's your opinion on this @sven1103 ?

Cheers Chris

christopher-mohr commented 4 years ago

@muellerdo to give you an update on this: you should be able to download builds from the qbic-repo. I will also try to use Github Actions soon to have automated builds and make them available directly here as Packages.

muellerdo commented 4 years ago

Heyho @christopher-mohr,

thanks for this update. Sounds great!