Herramientas de usuario

Herramientas del sitio


clase:daw:daw:1eval:tema03

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:daw:daw:1eval:tema03 [2024/12/20 13:15]
admin [Variables]
clase:daw:daw:1eval:tema03 [2025/01/12 20:57] (actual)
admin [Ejercicios]
Línea 354: Línea 354:
  
  
-Para cargar un fichero de varaibles se usa el comando ''source''.+Para cargar un fichero de variables se usa el comando ''source''.
  
   * Ejemplo de cargar las variables de ''config.env''   * Ejemplo de cargar las variables de ''config.env''
Línea 379: Línea 379:
 </sxh> </sxh>
  
-===== Instalar OpenJDK ===== +===== Interpretar las Variables de Bash ===== 
-Vamos a ver como instalar y usar el JDK:+Al pasar argumentos a un script se puede hacer de varias maneras.  
 + 
 +  * Imaginemos el script ''test.sh'', que muestra por pantalla el primer argumento 
 +<sxh bash;title:test.sh> 
 +#!/bin/bash 
 +echo $1 
 +</sxh> 
 + 
 +Y ahora lo vamos a ejecutar de 3 formas distintas: 
 + 
 +<sxh bash> 
 +a=Hola 
 +b=Adios 
 +./test.sh $a $b 
 +./test.sh '$a $b' 
 +./test.sh "$a $b" 
 +./test.sh "$a \$b" 
 +</sxh> 
 + 
 +¿Va a mostrar siempre ''Hola''? 
 + 
 +Veamos el resultado: 
 + 
 +<sxh text> 
 +Hola 
 +$a $b 
 +Hola Adios 
 +Hola $b 
 +</sxh> 
 + 
 +¿Qué es lo que ha pasado? 
 + 
 +^ Parametros    Resultados  ^  Explicación 
 +|  ''$a $b''  |  ''Hola''  | Lo toma como 2 argumentos separados y solo muestra ''Hola'' porque solo se muestra el primer argumento 
 +|  ''%%'%%$a $b%%'%%''  |  ''$a $b''  | Todo ahora es un único argumento, pero con la peculiaridad de que **no** interpreta las variables (y otras cosas) de BASH | 
 +|  ''%%"%%$a $b%%"%%''  |  ''Hola Adios''  | Todo ahora es un único argumento, pero si que se interpretan las variables de bash | 
 +|  ''%%"%%$a \$b%%"%%''  |  ''Hola $b''  | Todo ahora es un único argumento, pero si que se interpretan las variables de bash aunque no se evalúa la variable ''$b'' ya que está escapada con ''\''. | 
 + 
 + 
 +===== Instalar Java JRE ===== 
 +Vamos a ver como instalar y usar el JRE:
  
-Para instalar el JDK+Para instalar el JRE
-  * Descargar el fichero tar.gz desde [[https://adoptium.net/es/temurin/releases/?os=linux&arch=x64&package=jdk|Temurin download]] +  * Descargar el fichero tar.gz desde [[https://adoptium.net/es/temurin/releases/?os=linux&arch=x64&package=jre|Temurin download]] 
-  * Descomprime el fichero ''tar.gz'' en la carpeta actual y se creará una carpeta con el JDK:+  * Descomprime el fichero ''tar.gz'' en la carpeta actual y se creará una carpeta con el JRE:
 <sxh bash> <sxh bash>
-tar -xf OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz  -C .+tar -xf OpenJDK21U-jre_x64_linux_hotspot_21.0.5_11.tar  -C .
 </sxh> </sxh>
  
Línea 394: Línea 434:
   * Crea la variable de entorno ''JAVA_HOME'':   * Crea la variable de entorno ''JAVA_HOME'':
 <sxh bash> <sxh bash>
-export JAVA_HOME=$(pwd)/jdk-21.0.5+11+export JAVA_HOME=$(pwd)/jdk-21.0.5+11-jre
 </sxh> </sxh>
  
Línea 406: Línea 446:
  
 <sxh bash> <sxh bash>
-export JAVA_HOME=$(pwd)/jdk-21.0.5+11 && $JAVA_HOME/bin/java -jar mi_app.jar+export JAVA_HOME=$(pwd)/jdk-21.0.5+11-jre 
 +$JAVA_HOME/bin/java -jar mi_app.jar
 </sxh> </sxh>
  
 <note tip> <note tip>
-El nombre del fichero ''OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz'' y de la carpeta ''jdk-21.0.5+11'' será distintas según la versión de java que estés usando.+El nombre del fichero ''OpenJDK21U-jre_x64_linux_hotspot_21.0.5_11.tar.gz'' y de la carpeta ''jdk-21.0.5+11-jre'' será distintas según la versión de java que estés usando.
 </note> </note>
  
 <note tip> <note tip>
-Si en GitHub no deja subir el ''OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz'' porque es un fichero demasiado grande, se puede partir en pequeños ficheros.+Si en GitHub no deja subir el ''OpenJDK21U-jre_x64_linux_hotspot_21.0.5_11.tar.gz'' porque es un fichero demasiado grande, se puede partir en pequeños ficheros.
  
   * Para dividir un fichero en trozos se usa esta orden:   * Para dividir un fichero en trozos se usa esta orden:
Línea 581: Línea 622:
 </note> </note>
  
-===== Variables ===== +<note tip> 
-Al pasar argumentos a un script se puede hacer de varias maneras.  +El fichero con la clave privadas obligatoriamente deben solo puede tener permisos el propio usuario por lo que hay que ejecutar:
- +
-  * Imaginemos el script ''test.sh'', que muestra por pantalla el primer argumento +
-<sxh bash;title:test.sh> +
-#!/bin/bash +
-echo $1 +
-</sxh> +
- +
-Y ahora lo vamos a ejecutar de 3 formas distintas:+
  
 <sxh bash> <sxh bash>
-a=Hola +chmod 600 id_rsa.pub
-b=Adios +
-./test.sh $a $b +
-./test.sh '$a $b' +
-./test.sh "$a $b" +
-./test.sh "$a \$b"+
 </sxh> </sxh>
  
-¿Va a mostrar siempre ''Hola''? +</note>
- +
-Veamos el resultado: +
- +
-<sxh text> +
-Hola +
-$a $b +
-Hola Adios +
-Hola $b +
-</sxh> +
- +
-¿Qué es lo que ha pasado? +
- +
-^ Parametros    Resultados  ^  Explicación +
-|  ''$a $b''  |  ''Hola''  | Lo toma como 2 argumentos separados y solo muestra ''Hola'' porque es el primer argumento +
-|  ''%%'%%$a $b%%'%%''  |  ''$a $b''  | Todo ahora es un único argumento, pero con la peculiaridad de que **no** interpreta las variables (y otras cosas) de BASH | +
-|  ''%%"%%$a $b%%"%%''  |  ''Hola Adios''  | Todo ahora es un único argumento, pero si que se interpretan las variables de bash | +
-|  ''%%"%%$a \$b%%"%%''  |  ''Hola $b''  | Todo ahora es un único argumento, pero si que se interpretan las variables de bash aunque no se evalúa la variable ''$b'' ya que está escapada con ''\''. |+
  
 ===== Ejercicios ===== ===== Ejercicios =====
Línea 775: Línea 786:
       * Generar el ''AppFacturas-0.0.1-SNAPSHOT.jar'' (incluyendo generar el CSS)       * Generar el ''AppFacturas-0.0.1-SNAPSHOT.jar'' (incluyendo generar el CSS)
       * Copiar los siguientes ficheros en el servidor de despliegue       * Copiar los siguientes ficheros en el servidor de despliegue
-        * ''OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz''+        * ''OpenJDK21U-jre_x64_linux_hotspot_21.0.5_11.tar.gz''
         * ''AppFacturas-0.0.1-SNAPSHOT.jar''         * ''AppFacturas-0.0.1-SNAPSHOT.jar''
         * ''server.sh''         * ''server.sh''
       * Borrar la carpeta ''../Facturas''        * Borrar la carpeta ''../Facturas'' 
       * Ejecutar en el servidor el script ''server.sh'' el cual hace lo siguiente:       * Ejecutar en el servidor el script ''server.sh'' el cual hace lo siguiente:
-        * Descomprimir el ''OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz''+        * Descomprimir el ''OpenJDK21U-jre_x64_linux_hotspot_21.0.5_11.tar.gz''
         * Abrir el puerto del cortafuegos          * Abrir el puerto del cortafuegos 
         * Crear la variable de entorno ''JAVA_HOME''         * Crear la variable de entorno ''JAVA_HOME''
Línea 824: Línea 835:
       build.sh       build.sh
     /target                 /target            
-      AppFacturas-0.0.1-SNAPSHOT.jar+      Facturas-0.0.1-SNAPSHOT
     package.json     package.json
     pom.xml     pom.xml
Línea 846: Línea 857:
   * Maquina remota en la que se despliega   * Maquina remota en la que se despliega
  
-  /home/alumno+  /home/deployer
     /.ssh     /.ssh
       authorized_keys       authorized_keys
-    /nombreAlumno +    /jdk-21.0.5+11 
-      /jdk-21.0.5+11 +      /bin 
-        /bin +        java 
-          java +    server.sh 
-      OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz +    OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz 
-      AppFacturas-0.0.1-SNAPSHOT.jar+    Facturas-0.0.1-SNAPSHOT.jar 
 +     
 +     
 +La solución a estos ejercicio está en: 
 +  * [[https://github.com/lgonzalezmislata/Facturas]] 
 +  * [[https://github.com/lgonzalezmislata/DesplegarFacturas]] 
clase/daw/daw/1eval/tema03.1734696921.txt.gz · Última modificación: 2024/12/20 13:15 por admin