Questa pagina spiega come utilizzare Cloud Code for VS Code per lo sviluppo remoto, ovvero per aprire il codebase in un container remoto in cui l'applicazione viene creata, sottoposta a debug e sottoposta a deployment. In questo modo crei un'applicazione portabile, indipendentemente dal sistema operativo della macchina di sviluppo.
Prerequisiti
Oltre alla configurazione descritta in Installare l'estensione Cloud Code, installa il pacchetto di estensioni VS Code Sviluppo remoto.
Configurazione
Per configurare una cartella
.devcontainer
con un Dockerfile e un fileDevcontainer.json
configurati per il linguaggio che stai utilizzando, fai clic su Apri una finestra remota > Aggiungi file di configurazione container Dev. In alternativa, puoi seguire la procedura descritta in Sviluppo remoto nei container.Dopo aver seguito le istruzioni, l'area di lavoro includerà:
Dockerfile: definisce un'immagine container che contiene gli strumenti per sviluppatori da installare in un container di sviluppo remoto.
Devcontainer.json
: indica all'estensione VS Code Remote Tools come eseguire il container di sviluppo remoto.
Apri il Dockerfile e aggiungi istruzioni per installare Google Cloud CLI e Skaffold. Per i comandi aggiornati, consulta le guide all'installazione.
Nel Dockerfile, aggiungi le istruzioni per copiare le configurazioni gcloud CLI e Skaffold di localhost prima del comando
>> $HOME/.bashrc
. In alternativa, puoi riscrivere i comandi per installare gcloud CLI e 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' \
Apri il file
Devcontainer.json
e aggiungi i seguenti argomenti di esecuzione per copiare le configurazioni di gcloud CLI e Skaffold da localhost:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",
Quando i file dispongono dei contenuti richiesti, fai clic su Apri una finestra remota.
Esempio di file devcontainer.json
Il file devcontainer.json
indica all'estensione Container Remote quali porte
esporre nel container, come montare le unità e quali estensioni installare
nel container remoto. Il seguente file devcontainer.json
di esempio specifica che l'estensione Container Remote deve installare l'estensione 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"
]
Passaggi successivi
- Leggi la documentazione di Visual Studio sullo sviluppo remoto tramite SSH.
- Segui un tutorial per eseguire Visual Studio Code in un container Docker utilizzando l'estensione dei container Dev.