The automatic launch of the integration process must be done after each push in the GitHub repository.
This phase is made up of the following stages:
- Launch of the Gradle build.
- Generation of documentation.
- Archiving of the Jar file and documentation.
- Archiving of unit test results.
After the build, an email notification must be sent to the member (s) of the project in both cases: success and failure of the Build phase (Use https://sendgrid.com).
Use Jenkins SonarQube Plugin to analyze code quality and verify the state of Quality Gates. If the latter is in the Failed state, the pipeline must be finish.
Use Jenkins' JaCoCo plugin to generate coverage reports for Unit tests.
Launch the Gradle publish task to deploy the Jar file generated in https://mymavenrepo.com/.
Use the Jenkins Slack Notification plugin to send a notification after deployment of the API.
The integration of version 1.1 must be done following the sending of a Pull Request (After a Fork from the main repository). The Pull Request process must not include the Deployment and Slack Notification phases.