Questa pagina spiega come utilizzare lo sviluppo remoto di Cloud Code per VS Code, ovvero come aprire la base di codice in un container remoto in cui l'applicazione viene creata, sottoposta a debug e di cui viene eseguito il deployment. In questo modo viene creata 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 di sviluppo remoto di VS Code.
Configurazione
Per configurare una cartella
.devcontainercon un Dockerfile e un fileDevcontainer.jsonconfigurato per la lingua che utilizzi, fai clic su
Apri una finestra remota > Aggiungi file di configurazione del contenitore di sviluppo.
In alternativa, puoi seguire i passaggi descritti in
Sviluppo remoto nei container.Dopo aver seguito le istruzioni, il tuo spazio 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 le 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 della gcloud CLI e di 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.jsone 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",Una volta che i file contengono i contenuti richiesti, fai clic su
Apri una finestra remota.
File devcontainer.json di esempio
Il file devcontainer.json indica all'estensione Remote Container 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 Remote Container deve installare
l'estensione Cloud Code per 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 Dev Containers.