Since Concourse is built on top of Docker, 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 Concourse 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-mongodb-github springci/spring-data-8-jdk-with-mongodb /bin/bash
This will launch the Docker image and mount your source code at
spring-data-mongodb-github
.Next, run the
test.sh
script from inside the container: -
PROFILE=none spring-data-mongodb-github/ci/test.sh
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:
-
mkdir /tmp/spring-data-mongodb-artifactory
-
docker run -it --mount type=bind,source="$(pwd)",target=/spring-data-mongodb-github --mount type=bind,source="/tmp/spring-data-mongodb-artifactory",target=/spring-data-mongodb-artifactory springci/spring-data-8-jdk-with-mongodb /bin/bash
This will launch the Docker image and mount your source code at
spring-data-mongodb-github
and the temporary artifactory output directory atspring-data-mongodb-artifactory
.Next, run the
build.sh
script from inside the container: -
spring-data-mongodb-github/ci/build.sh
Important
|
build.sh doesn’t actually push to Artifactory so don’t worry about accidentally deploying anything.
It just deploys to a local folder. That way, the artifactory-resource later in the pipeline can pick up these artifacts
and deliver them to artifactory.
|
Note
|
Docker containers can eat up disk space fast! From time to time, run docker system prune to clean out old images.
|