Antes de implementar um serviço no Cloud Run, pode desenvolvê-lo localmente através de um emulador do Cloud Run.
Configurar o seu serviço para desenvolvimento
Se não tiver um ficheiro .vscode/launch.json
definido, a caixa de diálogo Executar/depurar no emulador do Cloud Run permite-lhe configurar o lançamento e, em seguida, guarda as definições em .vscode/launch.json
. Se tiver um ficheiro .vscode/launch.json
configurado, pode editá-lo diretamente.
Para executar o serviço localmente, especifique a configuração:
- Abra a paleta de comandos (prima
Ctrl
/Cmd
+Shift
+P
ou clique em Ver > Paleta de comandos) e, de seguida, execute o comando Executar no emulador do Cloud Run. Na caixa de diálogo Executar/depurar no emulador do Cloud Run, defina as especificações da sua configuração:
- Apenas as ferramentas de compilação instaladas localmente estão disponíveis para o Cloud Run Emulator
- Escolha Docker ou Buildpacks como criador e, em seguida, especifique a origem
- (Opcional) Para especificar quaisquer variáveis de ambiente a transmitir aos contentores em execução, expanda Definições de compilação avançadas e, em seguida, clique para especificar pares de chave-valor.
Nome Descrição Exemplo PORT A porta que o servidor HTTP deve escutar. 8080 K_SERVICE O nome do serviço do Cloud Run que está a ser executado. hello-world K_REVISION O nome da revisão do Cloud Run que está a ser executada. hello-world.1 K_CONFIGURATION O nome da configuração do Cloud Run que criou a revisão. hello-world - (Opcional) Para especificar ligações do Cloud SQL, expanda as Definições avançadas do serviço, clique em Ligações e, de seguida, especifique uma ligação do Cloud SQL por linha.
- (Opcional) Selecione a opção Tornar o serviço acessível a partir de outros dispositivos na rede local.
- (Opcional) Se quiser apenas reconstruir e executar o serviço manualmente, em vez de automaticamente quando faz uma alteração, desmarque a opção Reconstruir e executar novamente automaticamente em caso de alterações.
Executar o serviço localmente
Depois de definir as suas preferências, execute o serviço clicando em Executar.
Monitorize o estado da implementação na janela de saída.
Após a conclusão da implementação, pode ver o serviço em execução abrindo o URL apresentado na janela de saída.
Para ver registos detalhados, mude para a vista detalhada do Cloud Run na janela de saída.
Após a conclusão da sessão, clique com o botão direito do rato para usar os seguintes comandos:
- Ver registos: abra os registos da aplicação de uma implementação específica com o explorador de registos do Cloud Code.
- Abrir URL: abra o URL do serviço de aplicação de um serviço específico num navegador de Internet.
Se desativou o modo de observação na configuração de lançamento e quiser fazer alterações à aplicação, recompilar e voltar a implementar a aplicação, clique na barra de estado do Cloud Code e, de seguida, clique em Ativar modo de observação.
Para parar a implementação, pode clicar no botão Parar na barra de ações da implementação atual.
Armazenar secrets
Se o seu código incluir dados potencialmente confidenciais, como chaves de API, palavras-passe e certificados, armazená-los como segredos pode ajudar a protegê-los. A integração do Secret Manager do Cloud Code permite-lhe armazenar estes segredos em segurança e obtê-los de forma programática. Para ver uma análise detalhada de como pode criar e gerir segredos com o Cloud Code, consulte o guia do Secret Manager.
Personalizar uma configuração launch.json existente
O plug-in do Cloud Code atualiza automaticamente o ficheiro de configuração launch.json
quando escolhe uma ação de execução. Para personalizar ainda mais a forma como o seu serviço é executado, pode especificar os seguintes campos no ficheiro .vscode/launch.json
:
watch: monitoriza as alterações no espaço de trabalho e volta a executar o serviço. O valor predefinido é True.
O exemplo seguinte mostra o relógio definido como
true
:"watch": true,
build: especifique o criador (Docker, jibMaven, jibGradle ou buildpacks) para criar as suas imagens.
O exemplo seguinte mostra um criador do Docker:
"build": { "docker": { "path": "Dockerfile" } },
O exemplo seguinte mostra um criador de buildpacks:
"build": { "buildpacks": { "path": "src/requirements.txt", "builder": "gcr.io/buildpacks/builder:v1" } },
image: especifique o nome da imagem a usar.
O exemplo seguinte mostra como especificar um nome de imagem:
"image": "hello-world",
service: especifique o serviço do Cloud Run a usar.
O exemplo seguinte mostra como especificar um nome de serviço, uma porta e limites de recursos:
"service": { "name": "hello-world", "containerPort": 8080, "resources": { "limits": { "memory": "256Mi" } } },
debug: especifique definições de depuração, como o mapeamento de caminhos remotos, para mapear um caminho local para um caminho no contentor remoto.
O exemplo seguinte mostra uma secção de depuração que indica a localização dos ficheiros de origem:
"debug": { "sourceFileMap": { "${workspaceFolder}": "/app" } }