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-commons-github adoptopenjdk/openjdk8:latest /bin/bash
This will launch the Docker image and mount your source code at
spring-data-commons-github
. -
cd spring-data-commons-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 need to test the build.sh
script, do this:
-
docker run -it --mount type=bind,source="$(pwd)",target=/spring-data-commons-github adoptopenjdk/openjdk8:latest /bin/bash
This will launch the Docker image and mount your source code at
spring-data-commons-github
. -
cd spring-data-commons-github
Next, try to package everything up from inside the container:
-
./mvnw -Pci,snapshot -Dmaven.test.skip=true clean deploy
Important
|
This will attempt to deploy to artifactory, but without credentials, it will fail, leaving you simply with a built artifact. |
Note
|
Docker containers can eat up disk space fast! From time to time, run docker system prune to clean out old images.
|