web-dev-qa-db-fra.com

Jenkins déploie le fichier de guerre sur Tomcat 8

J'exécute Jenkins 1.6 (et j'ai également essayé avec Jenkins 2.0) sur le même serveur où j'ai Tomcat 8. J'ai besoin de déployer l'application multimodule Maven sur Tomcat webapp. Il a deux fichiers de guerre de sous-modules qui doivent être déployés. Le déploiement du plugin prend en charge Tomcat jusqu'à 7, et cela fonctionne très bien. Cependant, le problème est que je dois utiliser Tomcat 8, car mon application Web ne fonctionne pas sur Tomcat 7. Est-il possible de déployer des fichiers war de Jenkins vers Tomcat 8?

10
zoran jeremic

Réponse à votre question

  1. Le plugin de déploiement de Tomcat 7 peut également être utilisé pour le déploiement de Tomcat 8 et 9, il fonctionnera à 100%.
  2. Vous devez définir des paramètres d'authentification avec des rôles attribués doivent être définis dans le fichier Tomcat-users.xml (% Tomcat8_PATH%/conf/Tomcat-users.xml)
  3. L'exemple de code ci-dessous peut être utilisé pour définir l'authentification basée sur les rôles dans le conteneur 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>
    
  4. pour l'authentification Maven dans ce chemin% 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>
    
  5. Utilisation du plug-in Tomcat 7 Maven (peut être utilisé pour déploiements Tomcat 8 également)

                <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>
    
  6. Déployer sur Tomcat peut être réalisé n'importe lequel de ces objectifs en fonction des besoins.
    mvn Tomcat7: déployer
    mvn Tomcat7: annuler le déploiement
    mvn Tomcat7: redéployer

  7. De plus, pour une journalisation plus détaillée, vous pouvez activer Java.util.logging.ConsoleHandler dans le fichier logging.properties% 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
    
18