Criar e iniciar um app Spring Boot Java no Cloud Shell

1. Antes de começar

O Cloud Shell é uma ferramenta de linha de comando baseada em navegador que permite acessar os recursos do Google Cloud. O Cloud Shell facilita o gerenciamento dos projetos e recursos do console do Cloud sem a necessidade de instalar o SDK Cloud e outras ferramentas no seu sistema.

Você usará o Cloud Shell para criar e iniciar um aplicativo Spring Boot sem sair do navegador. Para fazer isso, você usará o exemplo de código de Como criar um aplicativo com o Spring Boot.

Pré-requisitos

  • Conhecer a linguagem de programação e as ferramentas Java
  • Conhecimento sobre editores de texto padrão do Linux, como Vim, Emacs e nano.

O que você aprenderá

  • Usar o Cloud Shell.
  • Criar um app Spring Boot simples no Cloud Shell
  • Edite o app usando o editor de código no Cloud Shell.
  • Inicie o app no Cloud Shell.

O que é necessário

2. Configuração e requisitos

Configuração de ambiente autoguiada

  1. Se você ainda não tiver uma Conta do Google, crie uma. Faça login no console do Cloud e crie um novo projeto.

3c50189ec031c0cf.png

Captura de tela de 10/02/2016 12:45:26.png

Lembre-se do ID do projeto, um nome exclusivo em todos os projetos do Google Cloud. O nome na imagem já foi usado e não vai funcionar para você. Faremos referência a ele mais adiante no codelab como PROJECT_ID.

  1. Em seguida, você precisa ativar o faturamento no console do Cloud para usar os recursos do Google Cloud. A execução do codelab não deve custar mais do que alguns dólares, mas pode ser mais se você decidir usar mais recursos ou deixá-los em execução.

Novos usuários do Google Cloud estão qualificados para um teste sem custo financeiro de US$300.

Cloud Shell

O Cloud Shell é uma máquina virtual com base em Debian que contém todas as ferramentas de desenvolvimento necessárias. Ela oferece um diretório principal persistente de 5 GB, além de ser executada no Google Cloud. Isso aprimora o desempenho e a autenticação da rede. Isso significa que tudo que você precisa para este codelab é um navegador (sim, funciona em um Chromebook).

  1. Para ativar o Cloud Shell no Console do Cloud, basta clicar em Ativar o Cloud Shell b125d9eb26a46cc5.png. Leva apenas alguns instantes para provisionar e se conectar ao ambiente.

1067942a9a93f70.png

Screen Shot 2017-06-14 às 10.13.43 PM.png

Depois de se conectar ao Cloud Shell, você já estará autenticado e o projeto estará configurado com seu PROJECT_ID.

gcloud auth list

Resposta ao comando

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

Resposta ao comando

[core]
project = <PROJECT_ID>

Se, por algum motivo, o projeto não estiver definido, basta emitir o seguinte comando:

gcloud config set project <PROJECT_ID>

Quer encontrar seu PROJECT_ID? Veja qual ID você usou nas etapas de configuração ou procure-o no painel do Console do Cloud:

cc3895eeac80db2c.png

O Cloud Shell também define algumas variáveis de ambiente por padrão, o que pode ser útil ao executar comandos futuros.

echo $GOOGLE_CLOUD_PROJECT

Resposta ao comando

<PROJECT_ID>
  1. Defina a zona padrão e a configuração do projeto:
gcloud config set compute/zone us-central1-f

É possível escolher uma variedade de zonas diferentes. Para mais informações, consulte Regiões e zonas.

3. Inicializar um novo aplicativo Spring Boot

Depois de instalar a ferramenta de linha de comando Spring Boot, você pode inicializar e inicializar um novo "Hello, World" app da Web.

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

Isso cria um novo diretório com um novo projeto Maven, junto com o pom.xml do Maven, um wrapper do Maven e um ponto de entrada do app.

4. Criar um novo serviço RESTful com o editor de código

  1. Clique em Abrir editor 2109d75686c889a.pngno menu do Cloud Shell para abrir o editor de código.
  2. Quando o editor abrir, localize o arquivo helloworld/src/main/java/com/example/demo/DemoApplication.java.

f26aa4faf9b35058.png

  1. Depois que o código abrir, crie um novo controlador RESTful para responder a Hello. No arquivo DemoApplication.java, adicione uma nova definição da classe Helloworld, além da atual.

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. Salve o arquivo.

5. Executar o app localmente

  1. Abra um terminal no editor de código selecionando Terminal e depois New Terminal no menu do editor.
  2. Verifique se JAVA_HOME está definido como a versão correta do JDK:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
  1. Você pode iniciar o app Spring Boot normalmente com o plug-in Spring Boot.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

a4c65d9e3f7494bf.png

  1. Depois que o app for iniciado, clique em Visualização na Web 1a94d5bd10bfc072.png na barra de ferramentas do Cloud Shell e em Visualizar na porta 8080.

6252b94905f3f7bd.png

Uma guia será aberta no navegador, conectando você ao servidor iniciado.

8281cd520b191970.png

6. Parabéns

Você aprendeu a criar e iniciar um novo app da Web do Spring Boot em Java diretamente do Cloud Shell.

Saiba mais