The CICD makes use of the docker compose
armadillo-compose
build in build/docker/armadillo-compose
together with an R image capable of running release-test.R
.
From the project root directory run
./gradlew clean build docker
This creates Dockerfile
and Armadillo JAR in build/docker
.
./docker/bin/prepare.bash ci
This creates armadillo-compose/
and cicd/
trees in build/docker.
- build/docker/armadillo-compose for running Armadillo demo and used by CICD.
- build/docker/cicd for running the
release-test.R
script. - Note build/docker/cicd/ which hold an
armadillo/
tree needed forrelease-test.R
to run properly.
find ./build/docker
# if available
tree ./build/docker
In this directory docker/ci directory:
- Check ci.env for correct values which are used by release-test.R script.
- Check application.yml for the needed profiles matching those in docker-compose.yml.
- Make sure to run the preparation steps again.
If needed check available images defined in application.yml
and docker-compose.yml
match.
From within build/docker/armadillo-compos run
# First time build new image
docker compose build
# Use CTRL-C to stop
docker compose up
In same directory you can:
- check running images
docker compose images
should list
-
molgenis/molgenis-armadillo
(required) -
datashield/rock-base
(depends) -
datashield/rock-dolomite-xenon
(depends) -
molgenis/r-cicd
(required) -
check status
docker container ls
- stop all
docker container down
From with in build/docker/cicd/ run
docker container run \
--network container:armadillo-compose-armadillo-1 \
--volume armadillo:/cicd:rw \
--interactive --tty \
--entrypoint /bin/bash \
molgenis/r-cicd -c "ls -l /cicd ; cd /cicd/scripts/release ; ./armadillo-ready.bash"
docker run --interactive --tty --entrypoint /bin/bash molgenis/r-cicd