code
->unitTest
->start db
->build db schema
->integrationTest
->stop db
->verify
->build
->deploy
versioning strategy
# this will be exported by jenkins
export SOURCE_BUILD_NUMBER=123
./gradlew assemble
source code quality
sonar
docker run -d --name sonarqube -p 9000:9000 -p 9002:9002 sonarqube
./gradlew sonarqube
docker stop sonarqube; docker rm sonarqube
static code analysis
- pmd
- JDepend (define dependencies)
- checkstyle
- FindBugs
- codenarc (checkstyle + findbugs for groovy)
unitTest
-> integrationTest
-> code analysis -> ->
./gradlew check # pmd / jdepend
code coverage
- Cobertura (offlice bytecode)
- EMMA (offlice bytecode)
- Clover (source code)
- JACOCO (on-fly bytecode, ships with gradle as a plugin)
code coverage with JaCoCo for integration tests:
./gradlew jacocoIntegrationTestReposrt
running integration tests with db
compile tests
-> start db
-> build db schema
-> integrationTest
-> stop db
./gradlew IntegrationTest
:compile...
...
:startDatabase
starting database...
database is started.
:buildSchema
creating db schema...
db schema is created.
:runDatabase
:integrationTest
:stopDatabase
stopping database...
database is stopped.
how to build see travis build config
git clone ...
./gradlew unitTest build
./gradlew integrationTest
using gradle wrapper
./gradlew projects
./gradlew properties