Esta página explica como usar o Cloud Code para VS Code desenvolvimento remoto, ou seja, para abrir a sua base de código num contentor remoto onde a sua aplicação é criada, depurada e implementada. Isto cria uma aplicação portátil, independentemente do SO do seu computador de desenvolvimento.
Pré-requisitos
Além da configuração descrita em Instale a extensão Cloud Code, instale o pacote de extensões de desenvolvimento remoto do VS Code.
Configuração
Para configurar uma pasta
.devcontainer
com um Dockerfile e um ficheiroDevcontainer.json
configurado para o idioma que está a usar, clique emAbrir uma janela remota > Adicionar ficheiros de configuração do contentor de desenvolvimento. Em alternativa, pode seguir os passos descritos no artigo Desenvolvimento remoto em contentores.
Depois de seguir as instruções, o seu espaço de trabalho inclui:
Dockerfile: define uma imagem de contentor que contém as ferramentas para programadores a instalar num contentor de desenvolvimento remoto.
Devcontainer.json
— Indica à extensão VS Code Remote Tools como executar o contentor de desenvolvimento remoto.
Abra o Dockerfile e adicione instruções para instalar a CLI Google Cloud e o Skaffold. Para ver comandos atualizados, consulte os guias de instalação.
No Dockerfile, adicione instruções para copiar as configurações da CLI gcloud e do Skaffold do localhost antes do comando
>> $HOME/.bashrc
. Em alternativa, pode reescrever 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 ficheiro
Devcontainer.json
e adicione os seguintes argumentos de execução para copiar as configurações da CLI gcloud e do Skaffold de localhost:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",
Depois de os ficheiros terem o conteúdo necessário, clique em
Abrir uma janela remota.
Exemplo de ficheiro devcontainer.json
O ficheiro devcontainer.json
indica à extensão Remote Container as portas a
expor no contentor, como montar unidades e que extensões instalar
no contentor remoto. O seguinte ficheiro de exemplo devcontainer.json
especifica que a extensão Remote Container deve instalar a extensão Cloud Code for 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"
]
O que se segue?
- Leia a documentação do Visual Studio sobre o desenvolvimento remoto com SSH.
- Faça um tutorial para executar o Visual Studio Code num contentor Docker com a extensão Dev Containers.