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

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 los proyectos y recursos de Cloud Console sin tener que instalar el SDK de Cloud ni otras herramientas en el sistema.

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

Requisitos previos

  • Tener conocimientos del lenguaje de programación y las herramientas de Java
  • Conocimiento de editores de texto estándares de Linux, como Vim, Emacs y nano

Actividades

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

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.

Screenshot from 2016-02-10 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á). Más adelante, se hará referencia a él 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. Ejecutar este codelab debería costar solo unos pocos dólares, pero su costo podría aumentar si decides usar más recursos o si los dejas en ejecución.

Los usuarios nuevos de Google Cloud son aptos para obtener una prueba gratuita de USD 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 Shell (el aprovisionamiento y la conexión al entorno debería llevar solo unos minutos).

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>

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>

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.

Project_ID.png

  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.

Después de instalar la herramienta de línea de comandos de Spring Boot, puedes inicializar y arrancar una nueva app web de "Hello, World".

$ curl https://start.spring.io/starter.tgz \
  -d dependencies=web -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.

  1. Haz clic en Iniciar editor en el menú de Cloud Shell para abrir el editor de código.
  2. Después de que se abra el editor, busca el archivo helloworld/src/main/java/com/example/demo/DemoApplication.java.

  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.
  1. Puedes iniciar la app de Spring Boot normalmente con el complemento de Spring Boot.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

  1. Después de que se inicie la app, haz clic en Vista previa en la Web en la barra de herramientas de Cloud Shell y, luego, en Vista previa en el puerto 8080.

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

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

Más información