Executar e desenvolver um aplicativo no Cloud Code para IntelliJ

Agora que está tudo pronto, escolha entre executar regularmente o seu aplicativo ou iniciar um ciclo de iteração de desenvolvimento no seu ambiente de desenvolvimento integrado para propagar qualquer alteração feita na sua origem e dependências no aplicativo ativo. Nesta página, usamos o app de amostra Guestbook para ilustrar a execução e o desenvolvimento na experiência do Kubernetes.

Como escolher uma ação de execução

Antes da corrida

Antes de executar o aplicativo, verifique se você está configurado para implantar o aplicativo no contexto de sua preferência. É possível especificar isso na configuração, na guia "Executar" e na seção "Preferências de implantação".

Se você quiser alternar seu contexto atual, use o Kubernetes Explorer, acessível no painel da barra lateral à direita ou usando Ferramentas > Cloud Code > Kubernetes > Ver explorador de clusters.

Para otimizar seu loop de desenvolvimento escolhendo rapidamente as alterações de arquivo de um determinado tipo sem precisar recriar uma imagem, ative a sincronização de arquivos e a recarga dinâmica.

Desenvolvimento contínuo no Kubernetes

O destino de execução do desenvolvimento no Kubernetes inicia o ciclo de desenvolvimento no cluster do Kubernetes. Depois de iniciar o ciclo de desenvolvimento, o Cloud Code, usando Skaffold, cria uma imagem para o projeto, marca-a, envia-a para o repositório configurado e usa kubectl para implantar os manifestos do Kubernetes do projeto. de dados.

  1. Clique em Ícone do botão de execução Develop on Kubernetes e depois em Edit Configurations para abrir a caixa de diálogo Run/Debug Configurations.
  2. Personalize sua implantação usando as opções de configuração disponíveis.
  3. Se você quiser que o Cloud Code reimplante o aplicativo automaticamente após as alterações serem salvas, em Watch mode - rebuild and redeploy, selecione On file save. Os novos aplicativos do Kubernetes têm a opção Sob demanda selecionada por padrão. Para mais informações sobre os modos de exibição, consulte Modos de observação.
  4. Se o aplicativo estiver configurado para usar módulos Skaffold, selecione para criar ou implantar módulos específicos apenas.
  5. Quando estiver satisfeito com a configuração, clique em OK e em Ícone do botão de execução Executar.

Como iniciar o ciclo de desenvolvimento do cluster do Kubernetes

Como selecionar módulos Skaffold

Esta seção descreve como dividir o projeto Skaffold em módulos para desenvolver e depurar partes do aplicativo de maneira independente.

Para selecionar módulos do Skaffold no IntelliJ, execute as seguintes etapas:

  1. Instale as versões mais recentes do Insiders.
  2. Acesse Executar > Editar configurações e abra a guia Criar / Implantar.
  3. Selecione skaffold.yaml.
  4. Escolha uma destas opções:
    • Crie e implante com todas as dependências ou
    • Crie e implante com (se os módulos estiverem disponíveis) e selecione qualquer módulo.
Guia "Build / Deploy" mostrando a lista de módulos.

Sua seleção será mantida para as implantações subsequentes. Se você selecionar um subconjunto de módulos, o Cloud Code exibirá um aviso sobre a implantação de um subconjunto de módulos, e não de todo o sistema.

Como visualizar o aplicativo implantado

  1. Clique no botão "Executar" na sua ação de preferência. Veja os registros do aplicativo recebidos na janela de saída na guia Registros.

    Após o início da implantação, você verá a lista de portas encaminhadas do aplicativo implantado.

  2. Após a conclusão da implantação, você receberá uma notificação de que novos URLs de serviço estão disponíveis. Clique na guia URLs do serviço para visualizar os URLs e, em seguida, clique no link do URL para abrir o navegador com o aplicativo em execução.

    Como visualizar serviços encaminhados por porta na guia "URLs de serviço"

    Como alternativa, é possível abrir o Log de eventos e clicar no link para abrir o navegador com o aplicativo em execução.

Como ver registros

Além de ver os registros de pods em execução como uma transmissão ao vivo na saída do terminal enquanto você está desenvolvendo e executando o aplicativo, é possível ver os registros de um pod específico navegando até o Kubernetes Explorer.

Para ver os registros de um pod específico, siga estas etapas:

  1. Navegue até o Kubernetes Explorer. Ele pode ser acessado no painel lateral à direita ou usando Ferramentas > Cloud Code > Kubernetes > Visualizar o Cluster Explorer.

    Painel do Kubernetes Explorer aberto usando a guia na barra de tarefas do lado direito

  2. Selecione o pod do qual você quer ver os registros.

  3. Clique com o botão direito do mouse no pod e clique em Fazer streaming de registros. Como alternativa, é possível transmitir registros de contêineres individuais executados em pods.

    O Console do Kubernetes Explorer exibe os registros.

    Streaming de registros de um pod usando o menu do botão direito do mouse para gerar registros no Console do Kubernetes Explorer

Como adicionar novos recursos no desenvolvimento do Kubernetes

Se você iniciou um ciclo de iteração de desenvolvimento com o Develop no Kubernetes e adicionou mais recursos ao projeto, verá como essas alterações são implantadas no cluster do Kubernetes sem parar e remover a implantação, criando e codificando a imagem manualmente ou atualizando o cluster.

Se você estiver acompanhando o app Guestbook:

  1. Abra o arquivo "FrontendController.java" em src/main/java/cloudcode/guestbook/frontend e adicione esse novo endpoint à classe FrontendController:

     @RequestMapping("/greeting")
     @ResponseBody
     public String greeting(@RequestParam(value="name", defaultValue="World") String name) {
        return String.format("Hello from Kubernetes with IntelliJ, %s!", name);
     }
     ```
    
  2. Adicione as importações necessárias para as novas anotações, RequestMapping e ResponseBody.

  3. Salve as mudanças (Ctrl/Cmd+S) ou crie o projeto. Para isso, use o menu Build > Build Project.

    É possível visualizar os registros de progresso e implantação na janela do console. Depois que as alterações forem propagadas, confirme as atualizações visitando o novo URL do endpoint: localhost:8080/greeting.

    Como visualizar o endpoint recém-criado em um navegador

  4. Para encerrar a sessão de desenvolvimento contínuo, clique no botão Stop.

    O plug-in exclui todos os recursos do Kubernetes usados na sessão de desenvolvimento.

Como armazenar chaves secretas

Se o código inclui dados possivelmente confidenciais, como chaves de API, senhas e certificados, é recomendável armazená-los como secrets. O Cloud Code permite armazenar esses secrets com segurança no Gerenciador de secrets e buscá-los de maneira programática quando precisar deles. Para uma visão detalhada de como criar e gerenciar secrets com o Cloud Code, consulte o guia do Gerenciador de secrets.

Como visualizar detalhes do recurso

Para acompanhar o status dos recursos do Kubernetes, use o Kubernetes Explorer, acessível pelo painel lateral à direita. Também é possível acessar o Kubernetes Explorer em Ferramentas > Cloud Code > Kubernetes > Ver Explorador de clusters. de dados.

Painel do Kubernetes Explorer aberto usando a guia na barra de tarefas do lado direito

Use o Kubernetes Explorer para acessar informações sobre clusters, nós, cargas de trabalho e muito mais. Também é possível definir um contexto ativo, fazer streaming e visualizar registros e procurar descrições de recursos.

Para exibir os detalhes dos recursos implantados, clique com o botão direito do mouse em um rótulo de recursos no Kubernetes Explorer e, em seguida, clique em Descrever.

Opção "Descrever" disponível ao clicar com o botão direito do mouse em um recurso apropriado no painel do Kubernetes Explorer

Configuração

Ao usar a configuração de execução Desenvolver no Kubernetes, é possível personalizar a implantação definindo as configurações disponíveis. Acesse as opções de configuração selecionando "Run Configuration" na lista suspensa e, depois, Edit Configurations.

Opções do Skaffold

  • Configuração do Skaffold: seleciona um arquivo de configuração "skaffold.yaml". Será detectado automaticamente se você tiver um arquivo desse tipo no seu projeto.
  • Perfil de implantação: seleciona um perfil das opções disponíveis configuradas no arquivo "skaffold.yaml".
  • Variáveis de ambiente: permite configurar variáveis de ambiente extras para serem transmitidas ao processo de implantação do Skaffold. As sinalizações do Skaffold também podem ser configuradas como variáveis de ambiente a serem usadas nesse campo. Consulte a documentação de referência da CLI do Skaffold para uma lista abrangente de variáveis de ambiente disponíveis do Skaffold.
  • Nível de detalhes: permite definir o nível de detalhamento da saída como trace, debug, info, warn, error ou fatal. O nível de detalhes padrão é warn.

Opções do Kubernetes

  • Contexto de implantação: representa o contexto do Kubernetes em que o aplicativo foi implantado. O comportamento padrão, se um contexto de implantação não for especificado, será implantado no contexto atual do sistema, se houver.

    Se preferir não implantar no contexto atual, na seção "Implantação" das configurações de execução/depuração, você pode optar por:

    • Implantar localmente em um cluster do minikube: inicia um cluster do minikube gerenciado pelo Cloud Code para executar o app e interrompe o cluster após a interrupção da implantação. Se um cluster do minikube já estiver em execução, o Cloud Code usará o cluster atual para implantação.
    • Mudar o contexto e implantar para: altera o contexto atual no sistema para o contexto especificado na implantação.

      Como selecionar o contexto de implantação do Kubernetes em uma configuração de execução do Cloud Code

  • Delete deployments when finished: exclui as implantações do Kubernetes quando o processo é finalizado. Esse é o comportamento padrão. Também é possível alternar essa configuração para impedir que as implantações sejam excluídas.

Opções de armazenamento de imagens de contêiner

Consulte o guia sobre como armazenar sua imagem de contêiner para detalhes.

Configurações da versão

O Cloud Code é compatível com tipos de artefato do Docker, Jib e Buildpacks. Consulte Como configurar o guia de preferências de criação de imagens de contêiner para saber como definir o builder preferencial e as configurações relevantes.

Como receber suporte

Para enviar um feedback ou informar um problema no ambiente de desenvolvimento integrado do IntelliJ, acesse Tools > Cloud Code > Help / About > Envie feedback ou informe um problema para informar um problema no GitHub ou faça uma pergunta no Stack Overflow.

Você também pode participar do canal #cloud-code, que faz parte da comunidade do Google Cloud no Slack.