Since this pipeline is purely Docker-based, it’s easy to:
-
Debug what went wrong on your local machine.
-
Test out a a tweak to your
test.sh
script before sending it out. -
Experiment against a new image before submitting your pull request.
All of these use cases are great reasons to essentially run what the CI server does on your local machine.
Important
|
To do this you must have Docker installed on your machine. |
-
docker run -it --mount type=bind,source="$(pwd)",target=/spring-data-keyvalue-github adoptopenjdk/openjdk8:latest /bin/bash
This will launch the Docker image and mount your source code at
spring-data-keyvalue-github
. -
cd spring-data-keyvalue-github
Next, run your tests from inside the container:
-
./mvnw clean dependency:list test -Dsort
(or whatever profile you need to test out)
Since the container is binding to your source, you can make edits from your IDE and continue to run build jobs.
If you test building the artifact, do this:
-
docker run -it --mount type=bind,source="$(pwd)",target=/spring-data-keyvalue-github adoptopenjdk/openjdk8:latest /bin/bash
This will launch the Docker image and mount your source code at
spring-data-keyvalue-github
. -
cd spring-data-keyvalue-github
Next, try to package everything up from inside the container:
-
./mvnw -Pci,snapshot -Dmaven.test.skip=true clean package
Note
|
Docker containers can eat up disk space fast! From time to time, run docker system prune to clean out old images.
|