Antes de implantar um serviço no Cloud Run, você pode desenvolvê-lo localmente usando um emulador do Cloud Run.
Como configurar o serviço para desenvolvimento
Se você não tiver um arquivo .vscode/launch.json
definido, a caixa de diálogo
Run/Debug on Cloud Run Emulator permitirá configurar sua inicialização e
salvar as configurações em .vscode/launch.json
. Se você tiver um
arquivo .vscode/launch.json
configurado, edite-o diretamente.
Para executar o serviço localmente, especifique a configuração:
- Abra a paleta de comandos (pressione
Ctrl
/Cmd
+Shift
+P
) e execute o comando Run on Cloud Run Emulator. Na caixa de diálogo "Run/Debug on Cloud Run Emulator", defina as especificações da sua configuração:
- Somente ferramentas de compilação instaladas localmente estão disponíveis para o emulador do Cloud Run
- Escolha Docker ou Buildpacks como seu builder e especifique a origem.
- (Opcional) Para especificar qualquer variável de ambiente que será transmitida para os contêineres em execução, expanda Configurações avançadas da versão e clique para especificar pares de chave-valor.
Nome Descrição Exemplo PORT A porta para o servidor HTTP detectar. 8080 K_SERVICE O nome do serviço do Cloud Run em execução. Hello World K_REVISION O nome da revisão do Cloud Run em execução. hello-world.1 K_CONFIGURATION O nome da configuração do Cloud Run que criou a revisão. Hello World - (Opcional) Para especificar conexões do Cloud SQL, expanda Configurações avançadas do serviço, clique em Conexões e especifique uma conexão do Cloud SQL por linha.
- (Opcional) Marque a opção Tornar o serviço acessível a partir de outros dispositivos na rede local.
- (Opcional) Se você quiser apenas recriar e executar o serviço manualmente, e não de maneira automática ao fazer uma alteração, desmarque a opção Recriar e executar automaticamente de acordo com as alterações.
Como executar o serviço localmente
- Depois de definir as configurações preferenciais, execute o serviço clicando em Run.
Monitore o status da sua implantação na janela de saída.
Após a conclusão da implantação, veja o serviço em execução abrindo o URL exibido na janela de saída.
Para ver registros detalhados, alterne para a visualização detalhada do Cloud Run na janela de saída.
Depois que a sessão for concluída, use os seguintes comandos do menu de contexto:
- Abrir os registros de implantação: abra os registros de aplicativo de uma implantação específica com o Explorador de registros do Cloud Code
- Open Service URL: abra o URL do serviço do aplicativo de um serviço específico em um navegador da Web.
Se você tiver desativado o modo de exibição na configuração de inicialização e quiser fazer alterações no aplicativo, reconstruí-lo e reimplantá-lo, no painel "Sessões de desenvolvimento", pause a ação de execução e clique em
Reconstruir e reimplantar o aplicativo.
Para interromper a implantação, clique no botão Parar na barra de ações da implantação atual.
Como armazenar secrets
Se o código incluir dados possivelmente confidenciais, como chaves de API, senhas e certificados, o armazenamento deles como secrets pode ajudar a protegê-los. A integração do Secret Manager do Cloud Code permite que você armazene esses secrets com segurança e os busque de maneira programática. Para ver mais detalhes sobre como criar e gerenciar secrets com o Cloud Code, consulte o guia do Gerenciador de secrets.
Como personalizar uma configuração launch.json
O plug-in do Cloud Code atualiza o arquivo de configuração launch.json
automaticamente quando você escolhe uma ação. Para personalizar ainda mais a execução do serviço, especifique os seguintes campos no arquivo .vscode/launch.json
:
watch: monitora as alterações no espaço de trabalho e executa novamente o serviço. "True" por padrão.
O exemplo a seguir mostra o relógio definido como
true
:"watch": true,
build: especifique o builder (Docker, jibMaven, jibGradle ou buildpacks) para criar as imagens.
O exemplo a seguir mostra um builder do Docker:
"build": { "docker": { "path": "Dockerfile" } },
O exemplo a seguir mostra um builder de buildpack:
"build": { "buildpacks": { "path": "src/requirements.txt", "builder": "gcr.io/buildpacks/builder:v1" } },
image: especifica o nome da imagem a ser usada.
O exemplo a seguir mostra como especificar um nome de imagem:
"image": "hello-world",
service: para especificar o serviço do Cloud Run que será usado.
No exemplo a seguir, mostramos como especificar um nome de serviço, uma porta e os limites de recursos:
"service": { "name": "hello-world", "containerPort": 8080, "resources": { "limits": { "memory": "256Mi" } } },
debug: especifique as configurações de depuração, como o mapeamento de caminho remoto, para mapear um caminho local para um caminho no contêiner remoto.
O exemplo a seguir mostra uma seção de depuração que indica a localização dos arquivos de origem:
"debug": { "sourceFileMap": { "${workspaceFolder}": "/app" } }