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 № 1Maven sta costruendo strumenti / ambiente. Jenkins è uno strumento CI (integrazione continua).
Maven è più simile a un sostituto di Ant.
- Assiste la costruzione del progetto attraverso plugins Ad es. build e version control, JUnit tests, ecc ...
- 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.