46 lines
2.2 KiB
Plaintext
46 lines
2.2 KiB
Plaintext
= Continuous Integration
|
|
|
|
image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-cassandra%2Fmain&subject=Moore%20(main)[link=https://jenkins.spring.io/view/SpringData/job/spring-data-cassandra/]
|
|
image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-cassandra%2F2.1.x&subject=Lovelace%20(2.1.x)[link=https://jenkins.spring.io/view/SpringData/job/spring-data-cassandra/]
|
|
image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-cassandra%2F1.5.x&subject=Ingalls%20(1.5.x)[link=https://jenkins.spring.io/view/SpringData/job/spring-data-cassandra/]
|
|
|
|
== Running CI tasks locally
|
|
|
|
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.
|
|
|
|
1. `docker run -it --mount type=bind,source="$(pwd)",target=/spring-data-cassandra-github adoptopenjdk/openjdk8:latest /bin/bash`
|
|
+
|
|
This will launch the Docker image and mount your source code at `spring-data-cassandra-github`.
|
|
+
|
|
2. `cd spring-data-cassandra-github`
|
|
+
|
|
Next, run your tests from inside the container:
|
|
+
|
|
3. `./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:
|
|
|
|
1. `docker run -it --mount type=bind,source="$(pwd)",target=/spring-data-cassandra-github adoptopenjdk/openjdk8:latest /bin/bash`
|
|
+
|
|
This will launch the Docker image and mount your source code at `spring-data-cassandra-github`.
|
|
+
|
|
2. `cd spring-data-cassandra-github`
|
|
+
|
|
Next, try to package everything up from inside the container:
|
|
+
|
|
3. `./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.
|