Jenkins
Open source automation server, enables developers to reliably build, test, and deploy their software. Used by QA to run automated tests, and by developers to build and deploy code.
The workflow is :
- Run jenkins in Tomcat
- setup git, maven, and environment variables
- setup build job, unit test, automated test, and deploy job.
- config the notification via SMTP server.
- Also, there are a lot of plugins can be used to extend the functionality of jenkins. Like the reporting, code Analysis, Metrics and Trending, etc.
when code is pushed to github, jenkins will pull the code and build it, then deploy it to server.
CI/CD
Continuous Integration (CI) and Continuous Delivery (CD) are practices that automate the software release process, from build to deploy.
CI: is a development practice that requires developers to integrate code into a shared repository at regular intervals
CD: is a series of practices where code changes are automatically built, tested, and deployed to production.