Worblehat is a training application for the Scrum for Developers training held by codecentric AG.
- JDK 11+
- Docker
Maven comes bundled with the maven wrapper scripts, no need for manual installation before.
- Compile and install the application in the local maven repository with
./mvnw install
- Start the database. The easiest way is to fire up a docker container with
worblehat-web/docker-db.sh
. - Run the application.:
- Either run
./mvnw -pl worblehat-web spring-boot:run
(will automatically compile & package the application before) - Or use your IDE to start the main class in worblehat-web:
de.codecentric.psd.Worblehat
- Access the application at http://localhost:8080/worblehat/
All tests are executed via JUnit, but can be conceptually divided in unit and integration tests. They are bound to different maven lifecycle phases, are executed by differen maven plugins, and follow a different naming scheme.
- Unit tests are run with
./mvnw test
- The maven-surefire-plugin includes all these tests by default:
<includes>
<include>**/Test*.java</include>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
<include>**/*TestCase.java</include>
</includes>
-
Acceptance tests are run by activating the required profile
./mvnw -P runITs verify
.Note: The
verify
lifecycle is executed beforeinstall
. Integration tests are only included, if therunITs
profile is activated. -
The maven-failsafe-plugin includes all these tests by default:
<includes>
<include>**/IT*.java</include>
<include>**/*IT.java</include>
<include>**/*ITCase.java</include>
</includes>
The acceptance tests spin docker containers for all required dependencies (Database & Browser) via Testcontainers.
To release for example version 1.2 follow these steps:
- Set next development version:
mvn versions:set -DnewVersion=1.2.0 -DgenerateBackupPoms=false
- Create a tag and push the tag back to the team repository
- Let jenkins build the release and deploy it to the test and production environments
- Bump the version for the next development iteration:
mvn versions:set -DnewVersion=1.3.0-SNAPSHOT -DgenerateBackupPoms=false