Questa pagina spiega come utilizzare Cloud Code per VS Code per lo sviluppo remoto, ovvero per aprire la base di codice in un contenitore remoto in cui viene compilata, eseguita il debug e di cui viene eseguito il deployment dell'applicazione. 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 VS Code per lo sviluppo remoto.
Configurazione
Per configurare una cartella
.devcontainer
con un file Dockerfile eDevcontainer.json
configurato per la lingua in uso, fai clic suApri una finestra remota > Aggiungi file di configurazione del contenitore di sviluppo. In alternativa, puoi seguire i passaggi descritti in Sviluppo remoto in contenitori.
Dopo aver seguito le istruzioni, lo 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 contenitore di sviluppo remoto.
Apri il file Dockerfile e aggiungi le istruzioni per installare Google Cloud CLI e Skaffold. Per comandi aggiornati, consulta le guide all'installazione.
Nel file Dockerfile, aggiungi le istruzioni per copiare le configurazioni dell'interfaccia a riga di comando gcloud 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.json
e aggiungi i seguenti argomenti di esecuzione per copiare le configurazioni dell'interfaccia a riga di comando gcloud e di Skaffold da localhost:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",
Dopo aver inserito i contenuti richiesti nei file, fai clic su
Apri una finestra remota.
File devcontainer.json di esempio
Il file devcontainer.json
indica all'estensione del contenitore remoto quali porte esporre nel contenitore, come montare le unità e quali estensioni installare nel contenitore remoto. Il seguente file devcontainer.json
di esempio
specifica che l'estensione del contenitore remoto 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 su sviluppo remoto tramite SSH.
- Segui un tutorial su come eseguire Visual Studio Code in un container Docker utilizzando l'estensione Dev Containers.