Compila e inicia una app de Java de Spring Boot desde Cloud Shell

1. Antes de comenzar

Cloud Shell es una herramienta de línea de comandos basada en el navegador que te permite acceder a los recursos de Google Cloud. Cloud Shell facilita la administración de tus proyectos y recursos de la consola de Cloud sin tener que instalar el SDK de Cloud ni otras herramientas en tu sistema.

Usarás Cloud Shell para compilar e iniciar una app de Spring Boot sin salir de tu navegador. Para ello, usarás el código de muestra de Compila una app con Spring Boot.

Requisitos previos

  • Estar familiarizado con el lenguaje de programación y las herramientas de Java
  • Conocimientos sobre editores de texto estándares de Linux, como Vim, Emacs y nano

Actividades

  • Usa Cloud Shell.
  • Crea una app de Spring Boot simple en Cloud Shell.
  • Edita la app con el editor de código de Cloud Shell.
  • Inicia la app desde Cloud Shell.

Requisitos

2. Configuración y requisitos

Configuración del entorno de autoaprendizaje

  1. Si aún no tienes una Cuenta de Google, debes crear una. Accede a la consola de Cloud y crea un proyecto nuevo.

3c50189ec031c0cf.png

Captura de pantalla del 10-02-2016 12:45:26.png

Recuerda el ID del proyecto, un nombre único en todos los proyectos de Google Cloud (el nombre de la imagen ya está en uso y no funcionará para ti). Se mencionará más adelante en el codelab como PROJECT_ID.

  1. A continuación, debes habilitar la facturación en la consola de Cloud para usar los recursos de Google Cloud. La ejecución del codelab no debería costar más que unos pocos dólares, pero podría ser más si decides usar más recursos o si los dejas ejecutándose.

Los usuarios nuevos de Google Cloud son aptos para una prueba gratuita de$300.

Cloud Shell

Esta máquina virtual basada en Debian está cargada con todas las herramientas de desarrollo que necesitarás. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud, lo que permite mejorar considerablemente el rendimiento de la red y la autenticación. Esto significa que todo lo que necesitarás para este Codelab es un navegador (sí, funciona en una Chromebook).

  1. Para activar Cloud Shell desde la consola de Cloud, solo haz clic en Activar Cloud Shellb125d9eb26a46cc5.png (el aprovisionamiento y la conexión al entorno debería llevar solo unos minutos).

1067942a9a93f70.png

Captura de pantalla del 14 de junio de 2017 a las 10.13.43 p.m. .png

Una vez conectado a Cloud Shell, debería ver que ya se autenticó y que el proyecto ya se configuró con tu PROJECT_ID:

gcloud auth list

Resultado del comando

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

Resultado del comando

[core]
project = <PROJECT_ID>

Si, por algún motivo, el proyecto no está configurado, solo emite el siguiente comando:

gcloud config set project <PROJECT_ID>

Si no conoce su PROJECT_ID, Observa el ID que usaste en los pasos de configuración o búscalo en el panel de la consola de Cloud:

cc3895eeac80db2c.png

Cloud Shell también configura algunas variables de entorno de forma predeterminada, lo que puede resultar útil cuando ejecutas comandos futuros.

echo $GOOGLE_CLOUD_PROJECT

Resultado del comando

<PROJECT_ID>
  1. Establece la zona predeterminada y la configuración del proyecto.
gcloud config set compute/zone us-central1-f

Puedes elegir una variedad de zonas diferentes. Para obtener más información, consulta Regiones y zonas.

3. Inicializa una nueva app de Spring Boot

Después de instalar la herramienta de línea de comandos de Spring Boot, puedes inicializar e iniciar un nuevo mensaje "Hello, World" aplicación web.

$ curl https://start.spring.io/starter.tgz \
  -d dependencies=web \
  -d type=maven-project \
  -d baseDir=helloworld | tar -xzvf -

Esto crea un directorio nuevo con un proyecto de Maven nuevo, junto con pom.xml de Maven, un wrapper de Maven y un punto de entrada de la app.

4. Cómo crear un servicio RESTful nuevo con el editor de código

  1. Para abrir el editor de código, haz clic en Abrir editor 2109d75686c889a.png en el menú de Cloud Shell.
  2. Después de que se abra el editor, busca el archivo helloworld/src/main/java/com/example/demo/DemoApplication.java.

f26aa4faf9b35058.png

  1. Después de que se abra el código, crea un nuevo controlador RESTful para responder Hello. En el archivo DemoApplication.java, agrega una nueva definición de clase Helloworld además de la actual.

src/main/java/com/example/demo/DemoApplication.java

package com.example;

...

// Add the import
import org.springframework.web.bind.annotation.*;

@SpringBootApplication
public class DemoApplication {
...
}

// Add the controller
@RestController
class Helloworld {
        @GetMapping("/")
        public String greet() {
                return "Hello!";
        }
}
  1. Guarda el archivo.

5. Ejecuta la app de forma local

  1. Abre una terminal en el editor de código seleccionando Terminal y, luego, New Terminal en el menú del editor.
  2. Asegúrate de que JAVA_HOME esté configurado en la versión correcta de JDK:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
  1. Puedes iniciar la app de Spring Boot normalmente con el complemento de Spring Boot.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

a4c65d9e3f7494bf.png

  1. Una vez que se inicie la app, haz clic en Vista previa en la Web 1a94d5bd10bfc072.png en la barra de herramientas de Cloud Shell y, luego, en Vista previa en el puerto 8080.

6252b94905f3f7bd.png

En tu navegador, se abrirá una pestaña y se conectará al servidor que iniciaste.

8281cd520b191970.png

6. Felicitaciones

Aprendiste a compilar e iniciar una nueva app web de Java de Spring Boot directamente desde Cloud Shell.

Más información