Sto eseguendo Jenkins 1.6 (e anche provato con Jenkins 2.0) sullo stesso server in cui ho Tomcat 8. Devo distribuire l'applicazione multimodule Maven alla webapp Tomcat. Ha due file di guerra dai sottomoduli che devono essere distribuiti. Il plug-in di distribuzione supporta Tomcat fino a 7 ed è funzionante. Tuttavia, il problema è che ho bisogno di usare Tomcat 8, dal momento che la mia applicazione web non funziona su Tomcat 7. È possibile distribuire file di guerra da Jenkins a Tomcat 8?Jenkins distribuisce il file di guerra a Tomcat 8
risposta
risposta alla tua domanda
- Tomcat 7 implementare plugin può essere utilizzato per Tomcat 8 e 9 distribuzione anche, funzionerà al 100%.
- necessario impostare i parametri di autenticazione con ruoli assegnati dovrebbe essere impostato nel file tomcat-users.xml (% TOMCAT8_PATH%/conf/tomcat-users.xml)
Sotto codice di esempio può essere utilizzato per impostare l'autenticazione basata ruolo nella contenitore tomcat8.
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="admin" password="password" roles="manager-gui,manager-script" /> </tomcat-users>
Per Maven autenticazione in questo percorso% MAVEN_PATH%/conf/settings.xml
<?xml version="1.0" encoding="UTF-8"?> <settings ...> <servers> <server> <id>TomcatServer</id> <username>admin</username> <password>password</password> </server> </servers> </settings>
utilizza Tomcat 7 Maven Plugin (Può essere usato per Tomcat 8 distribuzioni anche)
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>TomcatServer</server> <path>/yourappcontextpath</path> </configuration> </plugin>
È possibile eseguire il deployment su Tomcat in base a necessità.
mvn tomcat7: distribuire
mvn tomcat7: undeploy
mvn tomcat7: ridistribuireInoltre, per la registrazione più dettagliata è possibile abilitare java.util.logging.ConsoleHandler in logging.properties file% Tomcat_path%/conf /logging.properties.
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = java.util.logging.ConsoleHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = java.util.logging.ConsoleHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = java.util.logging.ConsoleHandler
questo non funziona per me. Viene visualizzato il seguente errore:
ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: Failed to redeploy [C:\Program Files (x86)\Jenkins\workspace\launchbi-admin deploy to qa\launchbi-admin\target\launchbi-admin-1.0.0-SNAPSHOT.war]
at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:188)
at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
at hudson.FilePath.act(FilePath.java:998)
at hudson.FilePath.act(FilePath.java:976)
at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627)
at hudson.model.Run.execute(Run.java:1749)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:421)
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:704)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
... 17 more
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.1.198:8088/manager/text/list
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571)
... 20 more
org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:704)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
at hudson.FilePath.act(FilePath.java:998)
at hudson.FilePath.act(FilePath.java:976)
at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627)
at hudson.model.Run.execute(Run.java:1749)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:421)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.1.198:8088/manager/text/list
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571)
... 20 more
Sto eseguendo la versione 2.84 di Jenkins con Deploy alla versione 1.13 del contenitore. Tomcat 8 versione 8.5.16
Il tuo post non sembra una risposta reale. Si prega di provare a cercare domande simili e guarda nelle risposte per loro. Se non riesci a trovare la stessa domanda, poni la tua domanda e prenditi cura della sua qualità –
Come suggerito da @StepanNovikov, questa è una domanda piuttosto nuova della risposta alla domanda originale. Molto probabilmente è solo correlato alla configurazione predefinita di Tomcat che non consente al gestore di distribuire da altro che localhost. Si prega di controllare questo post per la soluzione https://stackoverflow.com/questions/41675813/the-username-you-provided-is-not-allowed-to-use-the-text-based-tomcat-manager-e –
Scuse, Ho cliccato su "Aggiungi un'altra risposta" invece di "Aggiungi commento". Grazie @zoran jeremic, il link che hai fornito risolve il mio problema – Johno
- 1. Dove jboss eap 6.x distribuisce il file di guerra?
- 2. Jenkins: distribuzione di file di guerra da Artifactory
- 3. distribuire il file di guerra nel server tomcat
- 4. Come forzare tomcat a ricaricare file classe/guerra recentemente compilati
- 5. Ottenere 404 quando si distribuisce il file di guerra su JBoss 7.1
- 6. Come distribuire manualmente i file di guerra su tomcat?
- 7. Distribuzione file di guerra per Tomcat con un percorso diverso
- 8. come far esplodere tomcat i file di guerra
- 9. Genera file di guerra dalla cartella webapp tomcat
- 10. perché Jenkins 1.598 e Tomcat 8 distribuzione automatica non funziona
- 11. Distribuzione di un file di guerra a Tomcat su un VPS
- 12. Installazione di Sonar e Jenkins su Tomcat
- 13. IntelliJ può eseguire il debug di due file di guerra nella stessa istanza di tomcat?
- 14. Cambia il nome del file di guerra generato e il file di guerra duplicato
- 15. La distribuzione di guerra su Tomcat richiede anni
- 16. Confezione di file Javascript in una guerra?
- 17. Tomcat Maven plugin - qual è la differenza tra il run-guerra e run-guerra-sola
- 18. Come posso leggere un file di risorse in un file di guerra inesploso distribuito in Tomcat?
- 19. Migrazione a Tomcat 8: InstanceAlreadyExistsException datasource
- 20. Tomcat continua a reimpostare il mio file tomcat-users.xml
- 21. File di guerra in esecuzione da un plug-in Maven Tomcat - il plug-in utilizza il file sbagliato?
- 22. Come eliminare la cache di tomcat quando si distribuisce un nuovo file .war? C'è un ambiente di configurazione?
- 23. PHP su Tomcat 8
- 24. Tomcat non distribuisce affatto la nuova versione di file - linux/eclipse
- 25. illegalargumentexception - Progetto in esecuzione su Netbeans ma non su Tomcat come file di guerra
- 26. Jenkins: come controllare il manufatto da Nexus e distribuzione sul Tomcat-
- 27. Distribuire a weblogic usando maven e jenkins
- 28. 404s quando si distribuisce una guerra noir al molo sulla spremuta
- 29. Tomcat gestione del contesto
- 30. primavera JavaConfig e Tomcat 8
Il plug-in Deploy Container funziona perfettamente anche con tomcat 9. – Max