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
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

© 2023 Santiago Faci

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