Programación

1º DAM/DAW - Curso 2023-2024

User Tools

Site Tools


apuntes:tomcat-deploy

This is an old revision of the document!


Despliegue de aplicaciones web

Desplegar localmente en tomcat

Para desplegar aplicaciones web utilizaremos los siguientes plugins de maven:

  • maven-war-plugin: Nos permite empaquetar nuestra aplicación web como un fichero war
  • tomcat7-maven-plugin: Nos permitirá, con una simple configuración en nuestro fichero pom.xml, disponer de una serie de comandos para desplegar, replegar y redesplegar nuestra aplicación web.

Para ello, necesitamos añadir el siguiente bloque a nuestro fichero pom.xml. Con ello, añadimos ambos plugins y, en concreto para tomcat7-maven-plugin, añadimos algunos valores que permite indicar dónde se encuentra nuestro tomcat y el usuario y contraseña con el que podremos desplegar la aplicación:

  • url: La url al manager de consola para el despliegue (el host y puerto dependerán de lo que hayamos configurado en tomcat, aunque por defecto éstos serán los valores adecuados)
  • server: El nombre asignado al servidor tomcat. Podemos asignar el valor que queramos
  • path: La ruta en la que hemos definido nuestra aplicación. Se corresponde con el valor que hemos asignado al fichero webapp/META-INF/context.ml en la línea <Content path=“/taller”/>
  • username: El usuario que hemos configurado en tomcat (Más detalles en la configuración básica de Tomcat)
  • password: La contraseña que hemos configurado en tomcat (Más detalles la configuración básica de Tomcat)
. . .
<build>
        <finalName>TallerWebApp</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
 
                <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>tomcat8</server>
                        <path>/taller</path>
                        <username>tomcat</username>
                        <password>tomcat</password>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
. . .

Desplegar (deploy) la aplicación en tomcat:

santi@zenbook:$ mvn tomcat7:deploy

Replegar (undeploy) la aplicación de tomcat:

santi@zenbook:$ mvn tomcat7:undeploy

Redesplegar (redeploy = undeploy + deploy) la aplicación en tomcat:

santi@zenbook:$ mvn tomcat7:redeploy

Desplegar utilizando Docker

Crear la imagen de nuestra aplicación web

FROM tomcat:9.0.58-jdk17-openjdk-slim
ADD ./target/ParqueNaturalApp /usr/local/tomcat/webapps/webapp
CMD ["catalina.sh", "run"]

Desplegar utilizando Docker Compose

.env
MYSQL_USER=test
MYSQL_PASSWORD=test
MYSQL_DATABASE=test
MYSQL_PORT=3306
 
TOMCAT_PORT=8080

«file vim docker-compose.yaml> version: “3.4” name: parquenatural-webapp services:

mysql:
  image: mysql:8.0.33-debian
  container_name: mysql
  restart: unless-stopped
  env_file: ./.env
  environment:
    MYSQL_DATABASE: $MYSQL_DATABASE
    MYSQL_USER: $MYSQL_USER
    MYSQL_PASSWORD: $MYSQL_PASSWORD
    MYSQL_ROOT_PASSWORD: $MYSQL_PASSWORD
  ports:
    - $MYSQL_PORT:$MYSQL_PORT
  volumes:
    - db:/var/lib/mysql
  networks:
    - network1
app:
  image: parquenatural
  container_name: parquenatural
  env_file: ./.env
  ports:
    - $TOMCAT_PORT:$TOMCAT_PORT
  depends_on:
    - mysql
  restart: on-failure
  networks:
    - network1

volumes:

db:

networks:

network1:
  name: parquenatural

</file>


© 2023 Santiago Faci

apuntes/tomcat-deploy.1711828413.txt.gz · Last modified: 2024/03/30 19:53 by Santiago Faci