Skip to content

Files

Latest commit

39859b7 · Mar 1, 2019

History

History
This branch is 1531 commits behind spring-projects/spring-data-mongodb:main.

ci

Running CI tasks locally

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.
  1. 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:

  2. 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:

  1. mkdir /tmp/spring-data-mongodb-artifactory

  2. 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 at spring-data-mongodb-artifactory.

    Next, run the build.sh script from inside the container:

  3. 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.