Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jenkins and Maven difference

What is the difference between Maven and Jenkins?

Both support automated builds and automated execution of JUnits.

If so, are they complimentary, or mutually exclusive? When should onebe used over the other?

like image 426
abson Avatar asked May 31 '12 13:05

abson


People also ask

Is Maven similar to Jenkins?

Jenkins is a CI (continuous integration) tool. Maven is more like a replacement for Ant. It assists building of the project through plugins e.g build and version control, JUnit tests, etc... It manages dependencies of your project.

Does Jenkins need Maven?

The Maven Plugin is a plugin that provides the capabilities to configure, build, and run Maven-based projects in Jenkins. This is a must pre-requisite for the integration of Maven with Jenkins.

What Jenkins is used for?

Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language. It is used to implement CI/CD workflows, called pipelines.

What is Maven and Jenkins in selenium?

Jenkins is one of the popular tools for continuous integration, build management, and automation testing. Maven is a popular build automation tool that is widely used for Java projects. The combination of Selenium, Maven, Jenkins integration is the pinnacle of continuous integration and deployment.


1 Answers

Maven is building tool/environment. Jenkins is a CI (continuous integration) tool.

Maven is more like a replacement for Ant.

  1. It assists building of the project through plugins e.g build and version control, JUnit tests, etc...
  2. It manages dependencies of your project. you define how a project should be built(plugins), and what libraries are needed (dependencies) in a pom.xml file.

Jenkins as a smart job scheduler, can not assists you with tasks like version control or JUnit test, however it can indirectly assists you with all this, by making calls to the pom.xml file in your project. And Jenkins gives you the power to decide when to call the pom.xml file, based on what condition to call, and what you want to do with the outcome. and Jenkins can listen to different events, e.g svn commit, current time is midnight etc..

This is a powerful idea. For example, you can ask Jenkins to trigger a build or run through all JUnit tests whenever a new code is committed and then, if the unit tests are passed, deploy on a target machine. or schedule heavy tasks at midnight e.g unit tests.This is the basic idea of auto deployment or AKA continuous integration. CI for short if you like.

like image 159
Junchen Liu Avatar answered Sep 19 '22 14:09

Junchen Liu