Nesta página, explicamos como usar o desenvolvimento remoto do Cloud Code para VS Code. Ou seja, como abrir sua base de código em um contêiner remoto em que o aplicativo é criado, depurado e implantado. Isso cria um aplicativo portátil, independente do SO da sua máquina de desenvolvimento.
Pré-requisitos
Além da configuração descrita em Instalar a extensão do Cloud Code, instale o pacote de extensão do VS Code Remote Development.
Configuração
Para configurar uma pasta
.devcontainercom um Dockerfile e um arquivoDevcontainer.jsonconfigurado para a linguagem que você está usando, clique em
Abrir uma janela remota > Adicionar arquivos de configuração de contêiner de desenvolvimento.
Como alternativa, siga as etapas em
Desenvolvimento remoto em contêineres.Depois de seguir as instruções, seu espaço de trabalho vai incluir:
Dockerfile: define uma imagem de contêiner que contém as ferramentas de desenvolvedor para instalar em um contêiner de desenvolvimento remoto.
Devcontainer.json: instrui a extensão Remote Tools do VS Code a executar o contêiner de desenvolvimento remoto.
Abra o Dockerfile e adicione instruções para instalar a Google Cloud CLI e o Skaffold. Para comandos atualizados, consulte os guias de instalação.
No Dockerfile, adicione instruções para copiar a CLI gcloud e as configurações do Skaffold do localhost antes do comando
>> $HOME/.bashrc. Como alternativa, reescreva os comandos para instalar a CLI gcloud e o Skaffold.# Copy localhost's ~/.kube/config file into the container and swap out localhost # for host.docker.internal whenever a new shell starts to keep them in sync. RUN echo '\n\ if [ "$SYNC_LOCALHOST_KUBECONFIG" == "true" ]; then\n\ mkdir -p $HOME/.kube\n\ cp -r $HOME/.kube-localhost/* $HOME/.kube\n\ sed -i -e "s/localhost/host.docker.internal/g" $HOME/.kube/config\n\ \n\ fi' \ if [ "$SYNC_LOCALHOST_GCLOUD" == "true" ]; then\n\ mkdir -p $HOME/.config/gcloud\n\ cp -r $HOME/.gcloud-localhost/* $HOME/.config/gcloud\n\ \n\ fi' \Abra o arquivo
Devcontainer.jsone adicione os seguintes argumentos de execução para copiar a CLI gcloud e as configurações do Skaffold de localhost:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",Depois que os arquivos tiverem o conteúdo necessário, clique em
Abrir uma janela remota.
Exemplo de arquivo devcontainer.json
O arquivo devcontainer.json informa à extensão Remote Container quais portas expor no contêiner, como montar unidades e quais extensões instalar no contêiner remoto. O exemplo de arquivo devcontainer.json a seguir
especifica que a extensão Remote Container deve instalar a
extensão Cloud Code para VS Code:
"runArgs": [
"-v","/var/run/docker.sock:/var/run/docker.sock",
"--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.kube,target=/root/.kube-localhost",
"--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.config/gcloud,target=/root/.gcloud-localhost",
"-e", "SYNC_LOCALHOST_KUBECONFIG=true",
"-e", "SYNC_LOCALHOST_GCLOUD=true",
"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"
]
A seguir
- Leia a documentação do Visual Studio sobre desenvolvimento remoto usando SSH.
- Faça um tutorial para executar o Visual Studio Code em um contêiner do Docker. usando a extensão Dev Containers.