Polishing the README.

This commit is contained in:
Greg Turnquist
2019-06-05 16:05:35 -05:00
parent 9276f1b121
commit 4d4e44974e
2 changed files with 62 additions and 62 deletions

View File

@@ -35,12 +35,73 @@ IMPORTANT: *JDK 12* is Java's latest version and is unstable. We are testing aga
== Building Spring Session MongoDB
. Run `mvn clean package`
. Run `./mvnw clean package`
This will generate the artifact.
You can also import the project into your IDE.
== Making a release
1. Create a new release (on the main branch).
+
----
% ci/create-release.sh <release version> <next snapshot version>
----
+
2. With the release tagged, push the tagged version to the release branch.
+
----
% git checkout -b release
% git reset --hard <tag>
% git push -f origin release
----
NOTE: You can chain the previous set of commands together using `&&`.
The pipeline will build and release the "release" branch. It will also build a new a new snapshot and stage it on artifactory.
The pipeline will pick up the next tag and release it. It will also build a new snapshot and stage it on artifactory.
=== Running CI tasks locally
Since the pipeline uses 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 Jenkins 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-session-data-mongodb-github adoptopenjdk/openjdk8:latest /bin/bash`
+
This will launch the Docker image and mount your source code at `spring-session-data-mongodb-github`.
+
2. `cd spring-session-data-mongodb-github`
+
Next, run the `test.sh` script from inside the container:
+
2. `PROFILE=none 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, then do this:
1. `docker run -it --mount type=bind,source="$(pwd)",target=/spring-session-data-mongodb-github --mount type=bind,source="/tmp/spring-session-data-mongodb-artifactory",target=/spring-session-data-mongodb-artifactory adoptopenjdk/openjdk8:latest /bin/bash`
+
This will launch the Docker image and mount your source code at `spring-session-data-mongodb-github` and the temporary
artifactory output directory at `spring-session-data-mongodb-artifactory`.
+
Next, run the `build.sh` script from inside the container:
+
2. `ci/build.sh`
IMPORTANT: `build.sh` will attempt to push to Artifactory. If you don't supply credentials, it will fail.
NOTE: Docker containers can eat up disk space fast! From time to time, run `docker system prune` to clean out old images.
== Code of Conduct
This project adheres to the Contributor Covenant link:CODE_OF_CONDUCT.adoc[code of conduct].
By participating, you are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

View File

@@ -1,61 +0,0 @@
== Making a release
1. Create a new release (on the main branch).
+
----
% ci/create-release.sh <release version> <next snapshot version>
----
+
2. With the release tagged, push the tagged version to the release branch.
+
----
% git checkout -b release
% git reset --hard <tag>
% git push -f origin release
----
NOTE: You can chain the previous set of commands together using `&&`.
The pipeline will build and release the "release" branch. It will also build a new a new snapshot and stage it on artifactory.
The pipeline will pick up the next tag and release it. It will also build a new snapshot and stage it on artifactory.
=== Running CI tasks locally
Since the pipeline uses 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 Jenkins 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-session-data-mongodb-github adoptopenjdk/openjdk8:latest /bin/bash`
+
This will launch the Docker image and mount your source code at `spring-session-data-mongodb-github`.
+
2. `cd spring-session-data-mongodb-github`
+
Next, run the `test.sh` script from inside the container:
+
2. `PROFILE=none 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, then do this:
1. `docker run -it --mount type=bind,source="$(pwd)",target=/spring-session-data-mongodb-github --mount type=bind,source="/tmp/spring-session-data-mongodb-artifactory",target=/spring-session-data-mongodb-artifactory adoptopenjdk/openjdk8:latest /bin/bash`
+
This will launch the Docker image and mount your source code at `spring-session-data-mongodb-github` and the temporary
artifactory output directory at `spring-session-data-mongodb-artifactory`.
+
Next, run the `build.sh` script from inside the container:
+
2. `ci/build.sh`
IMPORTANT: `build.sh` will attempt to push to Artifactory. If you don't supply credentials, it will fail.
NOTE: Docker containers can eat up disk space fast! From time to time, run `docker system prune` to clean out old images.