A Java SpringBoot MVC web application and its deployment to GCP using Github Actions. This includes:
- Web app with an index and history page using Thymeleaf template engine
- Continuous Integration
- Unit test using JUnit and code coverage calculated by Jococo
- Integration test using SpringBoot Testing framework
- Acceptance or behavior driven testing using JBehave
- Static code analyslus and quality check by SonarCloud
- OWASP Dependency Check for vulnerabilities check
- Continuous Deployment
- Authentication to Google Cloud project
- Build application container using JIB
- Deploy the container to Google Cloud Run
- Executes PlayWright end to end testing
- Executes K6 load testing
- Executes OWASP ZAP penetration testing
- Reporting
- Compile
mvn clean compile
- Run springboot app
mvn spring-boot:run
- Unit test
mvn surefire:test
- Integration test
mvn verify failsafe:integration-test
- Generate code coverage report
mvn jacoco:report
- BDD test
mvn jbehave:run-stories-as-embeddables@run-stories-as-embeddables
- Sonar analysis
mvn sonar:sonar -Dsonar.login=<key> -Dsonar.host.url=https://sonarcloud.io -Dsonar.qualitygate.wait=true -Dsonar.organization=<key> -Dsonar.projectKey=<key>
- Dependency scan:
mvn dependency-check:check -DfailBuildOnCVSS=4
- End to end test:
npx playwright test