/ / Jenkins e la differenza di Maven - java, maven, jenkins

La differenza tra Jenkins e Maven - java, maven, jenkins

Sono un novizio in questa zona. Qual è la differenza tra Maven e Jenkins. A mio parere entrambi supportano build automatici e l'esecuzione automatizzata di JUnits. Se sì, sono gratuiti? O reciprocamente esclusivo?

risposte:

73 per risposta № 1

Maven sta costruendo strumenti / ambiente. Jenkins è uno strumento CI (integrazione continua).

Maven è più simile a un sostituto di Ant.

  1. Assiste la costruzione del progetto attraverso plugins Ad es. build e version control, JUnit tests, ecc ...
  2. Gestisce dipendenze del tuo progetto. si definisce come deve essere costruito un progetto (plugin) e quali librerie sono necessarie (dipendenze) in un file pom.xml.

Jenkins come uno schedulatore di lavoro intelligente, non può aiutarecon compiti come il controllo della versione o il test di JUnit, tuttavia può assisterti indirettamente con tutto ciò, effettuando chiamate al file pom.xml nel tuo progetto. E Jenkins ti dà il potere di decidere quando chiamare il file pom.xml, in base a quale condizione chiamare e cosa vuoi fare con il risultato. e Jenkins può ascoltare diversi eventi, ad esempio svn commit, l'ora corrente è mezzanotte ecc.

Questa è un'idea potente. Ad esempio, è possibile chiedere a Jenkins di avviare una build o eseguire tutti i test JUnit ogni volta che viene eseguito il commit di un nuovo codice e quindi, se vengono passati i test delle unità, eseguire l'implementazione su un computer di destinazione. o pianificare attività pesanti a mezzanotte, per esempio test unitari. Questa è l'idea di base della distribuzione automatica o dell'integrazione continua AKA. CI per brevissimo se ti piace.


22 per risposta № 2

Maven è uno strumento di compilazione che gestisce le dipendenzee il ciclo di vita dell'applicazione. Aveva anche un design plug-in che consente di aggiungere altre attività alle attività di compilazione / test / pacchetto / installazione / distribuzione standard.

Jenkins è una suite di integrazione continua checontrolla il tuo codice da un repository, lo costruisce e lo impacchetta e lo scarica su un server in modo che tu possa testarlo, tutto a mani libere. Può usare Maven o Ant come strumento di costruzione.

In sintesi, Jenkins può usare Maven come strumento di costruzione per l'integrazione continua. Puoi usare Maven senza Jenkins se scegli di non fare CI.


3 per risposta № 3

Il primo paragrafo del Pagina wiki del plugin Maven Jenkins spiega l'interazione tra Jenkins e Maven:

"Gestire i lavori di Jenkins non è facile quando ci sonomolti di questi, soprattutto se determinati parametri dovrebbero essere identici tra molti lavori. "jenkins-maven-plugin" consente di generare lavori Jenkins, un "config.xml" per lavoro, da un semplice MAVen POM. In questo modo possiamo avere tutti i lavori di Jenkins controllati in un unico posto, riutilizzando qualsiasi quantità di configurazione tra di loro. "


0 per risposta № 4

Maven è uno strumento di costruzione, in breve un successore di formica. Aiuta a costruire e controllo di versione.

Tuttavia, Jenkins è un sistema di integrazione continua,dove in maven è usato per costruire. Jenkins può essere utilizzato per automatizzare il processo di distribuzione. Quando viene eseguito il commit del nuovo codice, vengono eseguiti automaticamente tutti i casi di test Junit e, se vengono inoltrati, impacchettare e distribuire il progetto nella posizione specifica.