Rychlý start: Ladění a iterace pomocí Visual Studio Code a Java v Kubernetes pomocí Azure Dev SpacesQuickstart: Debug and iterate with Visual Studio Code and Java on Kubernetes using Azure Dev Spaces

V tomto průvodci se naučíte:In this guide, you will learn how to:

  • Nastavit Azure Dev Spaces se spravovaným clusterem Kubernetes v AzureSet up Azure Dev Spaces with a managed Kubernetes cluster in Azure.
  • Iterativní vývoj kódu v kontejnerech pomocí Visual Studio Code.Iteratively develop code in containers using Visual Studio Code.
  • Ladit kód ve vývojovém prostoru z Visual Studio Code.Debug the code in your dev space from Visual Studio Code.

PožadavkyPrerequisites

Vytvoření clusteru služby Azure KubernetesCreate an Azure Kubernetes Service cluster

Cluster AKS je potřeba vytvořit v podporované oblasti.You need to create an AKS cluster in a supported region. Níže uvedené příkazy vytvoří skupinu prostředků s názvem MyResourceGroup a cluster AKS s názvem MyAKS.The below commands create a resource group called MyResourceGroup and an AKS cluster called MyAKS.

az group create --name MyResourceGroup --location eastus
az aks create -g MyResourceGroup -n MyAKS --location eastus --node-vm-size Standard_DS2_v2 --node-count 1 --disable-rbac --generate-ssh-keys

Povolení Azure Dev Spaces v clusteru AKSEnable Azure Dev Spaces on your AKS cluster

use-dev-spaces Pomocí příkazu povolte v clusteru AKS vývojářské prostory a postupujte podle pokynů.Use the use-dev-spaces command to enable Dev Spaces on your AKS cluster and follow the prompts. Následující příkaz povolí v MyAKS ve skupině MyResourceGroup vývojářské prostory a vytvoří výchozí místo pro vývoj.The below command enables Dev Spaces on the MyAKS cluster in the MyResourceGroup group and creates a default dev space.

$ az aks use-dev-spaces -g MyResourceGroup -n MyAKS

'An Azure Dev Spaces Controller' will be created that targets resource 'MyAKS' in resource group 'MyResourceGroup'. Continue? (y/N): y

Creating and selecting Azure Dev Spaces Controller 'MyAKS' in resource group 'MyResourceGroup' that targets resource 'MyAKS' in resource group 'MyResourceGroup'...2m 24s

Select a dev space or Kubernetes namespace to use as a dev space.
 [1] default
Type a number or a new name: 1

Kubernetes namespace 'default' will be configured as a dev space. This will enable Azure Dev Spaces instrumentation for new workloads in the namespace. Continue? (Y/n): Y

Configuring and selecting dev space 'default'...3s

Managed Kubernetes cluster 'MyAKS' in resource group 'MyResourceGroup' is ready for development in dev space 'default'. Type `azds prep` to prepare a source directory for use with Azure Dev Spaces and `azds up` to run.

Získat ukázkový kód aplikaceGet sample application code

V tomto článku pomocí ukázkové aplikace Azure dev Spaces předvádíte použití Azure dev Spaces.In this article, you use the Azure Dev Spaces sample application to demonstrate using Azure Dev Spaces.

Naklonujte aplikaci z GitHubu.Clone the application from GitHub.

git clone https://github.com/Azure/dev-spaces

Příprava ukázkové aplikace v Visual Studio CodePrepare the sample application in Visual Studio Code

Otevřete Visual Studio Code, klikněte na soubor a pak na otevřít ... , přejděte do adresáře dev-Spaces/Samples/Java/Začínáme/webfront-Endu a klikněte na otevřít.Open Visual Studio Code, click File then Open..., navigate to the dev-spaces/samples/java/getting-started/webfrontend directory, and click Open.

Nyní máte projekt webendu otevřený v Visual Studio Code.You now have the webfrontend project open in Visual Studio Code. Chcete-li aplikaci spustit ve vývojovém prostoru, vygenerujte pomocí rozšíření Azure Dev Spaces v paletě příkazů prostředky Docker a Helm Chart.To run the application in your dev space, generate the Docker and Helm chart assets using the Azure Dev Spaces extension in the Command Palette.

Chcete-li otevřít paletu příkazů v Visual Studio Code, klikněte na tlačítko Zobrazit paletu příkazů.To open the Command Palette in Visual Studio Code, click View then Command Palette. Začněte psát Azure Dev Spaces a klikněte na Azure Dev Spaces: Prepare configuration files for Azure Dev Spaces.Begin typing Azure Dev Spaces and click on Azure Dev Spaces: Prepare configuration files for Azure Dev Spaces.

Příprava konfiguračních souborů pro Azure Dev Spaces

Když Visual Studio Code také vyzve k nakonfigurování základních imagí, vystaveného portu a veřejného koncového bodu Azul Zulu OpenJDK for Azure (Free LTS) , vyberte pro základní bitovou kopii, 8080 pro vystavený Yes port a pro povolení veřejného koncového bodu.When Visual Studio Code also prompts you to configure your base images, exposed port and public endpoint, choose Azul Zulu OpenJDK for Azure (Free LTS) for the base image, 8080 for the exposed port, and Yes to enable a public endpoint.

Vybrat základní image

Vybrat vystavený port

Vybrat veřejný koncový bod

Tento příkaz připraví projekt tak, aby běžel v Azure Dev Spaces generováním grafu typu souboru Dockerfile a Helm.This command prepares your project to run in Azure Dev Spaces by generating a Dockerfile and Helm chart. Také generuje adresář . VSCode s konfigurací ladění v kořenovém adresáři projektu.It also generates a .vscode directory with debugging configuration at the root of your project.

Sestavování a spouštění kódu v Kubernetes ze sady Visual StudioBuild and run code in Kubernetes from Visual Studio

Klikněte na ikonu ladění vlevo a v horní části klikněte na Spustit program Java (AZDS) .Click on the Debug icon on the left and click Launch Java Program (AZDS) at the top.

Spustit program Java

Tento příkaz vytvoří a spustí vaši službu v Azure Dev Spaces.This command builds and runs your service in Azure Dev Spaces. V dolní části okna terminálu se zobrazuje výstup sestavení a adresy URL pro vaši službu běžící Azure dev Spaces.The Terminal window at the bottom shows the build output and URLs for your service running Azure Dev Spaces. Konzola ladění zobrazuje výstup protokolu.The Debug Console shows the log output.

Poznámka

Pokud nevidíte žádné příkazy Azure Dev Spaces v paletě příkazů, ujistěte se, že máte nainstalovanou příponu Visual Studio Code pro Azure dev Spaces.If you don't see any Azure Dev Spaces commands in the Command Palette, make sure you have installed the Visual Studio Code extension for Azure Dev Spaces. Ověřte také, že jste v Visual Studio Code otevřeli adresář dev-Spaces/Samples/Java/Začínáme/webfront-Endu .Also verify you opened the dev-spaces/samples/java/getting-started/webfrontend directory in Visual Studio Code.

Službu spuštěnou můžete zobrazit otevřením veřejné adresy URL.You can see the service running by opening the public URL.

Klikněte na ladit a pak Zastavit ladění , aby se ladicí program zastavil.Click Debug then Stop Debugging to stop the debugger.

Aktualizace kóduUpdate code

Chcete-li nasadit aktualizovanou verzi služby, můžete aktualizovat libovolný soubor v projektu a znovu spustit program Java (AZDS) .To deploy an updated version of your service, you can update any file in your project and rerun Launch Java Program (AZDS). Příklad:For example:

  1. Pokud je vaše aplikace stále spuštěná, klikněte na tlačítko ladění a zastavte tak ladění .If your application is still running, click Debug then Stop Debugging to stop it.

  2. Aktualizujte řádek 19 src/main/java/com/ms/sample/webfrontend/Application.java v :Update line 19 in src/main/java/com/ms/sample/webfrontend/Application.java to:

    return "Hello from webfrontend in Azure!";
    
  3. Uložte provedené změny.Save your changes.

  4. Spusťte znovu spuštění programu Java (AZDS) .Rerun Launch Java Program (AZDS).

  5. Přejděte do spuštěné služby a sledujte své změny.Navigate to your running service and observe your changes.

  6. Klikněte na ladit a pak Zastavit ladění a zastavte aplikaci.Click Debug then Stop Debugging to stop your application.

Nastavení a použití zarážek pro laděníSetting and using breakpoints for debugging

Spusťte službu pomocí spuštění programu Java (AZDS) .Start your service using Launch Java Program (AZDS). Tím se také spustí vaše služba v režimu ladění.This also runs your service in debugging mode.

Kliknutím na tlačítko Zobrazit a Průzkumníkpřejděte zpět do zobrazení Průzkumníka .Navigate back to the Explorer view by clicking View then Explorer. Otevřete src/main/java/com/ms/sample/webfrontend/Application.java a kliknutím někam na řádku 19 umístěte kurzor do umístění.Open src/main/java/com/ms/sample/webfrontend/Application.java and click somewhere on line 19 to put your cursor there. Chcete-li nastavit zarážku F9 nebo klikněte na položku ladit a pak Přepnout zarážku.To set a breakpoint hit F9 or click Debug then Toggle Breakpoint.

V prohlížeči otevřete službu a Všimněte si, že se nezobrazí žádná zpráva.Open your service in a browser and notice no message is displayed. Vraťte se na Visual Studio Code a sledujte, že je zvýrazněna řádková 19.Return to Visual Studio Code and observe line 19 is highlighted. Zarážka, kterou jste nastavili, pozastavila službu na řádku 19.The breakpoint you set has paused the service at line 19. Pokud chcete službu obnovit, stiskněte klávesu F5 nebo klikněte na ladit a pak pokračovat.To resume the service, hit F5 or click Debug then Continue. Vraťte se do prohlížeče a Všimněte si, že se teď zobrazí zpráva.Return to your browser and notice the message is now displayed.

Při spouštění služby v Kubernetes s připojeným ladicím programem máte úplný přístup k ladicím informacím, jako je zásobník volání, místní proměnné a informace o výjimkách.While running your service in Kubernetes with a debugger attached, you have full access to debug information such as the call stack, local variables, and exception information.

Odstraňte zarážku tak, že umístíte kurzor na řádek 19 src/main/java/com/ms/sample/webfrontend/Application.java v a zapnete F9.Remove the breakpoint by putting your cursor on line 19 in src/main/java/com/ms/sample/webfrontend/Application.java and hitting F9.

Aktualizace kódu z Visual Studio CodeUpdate code from Visual Studio Code

Když je služba spuštěna v režimu ladění, aktualizujte řádek 19 v src/main/java/com/ms/sample/webfrontend/Application.java.While the service is running in debugging mode, update line 19 in src/main/java/com/ms/sample/webfrontend/Application.java. Příklad:For example:

return "Hello from webfrontend in Azure while debugging!";

Uložte soubor.Save the file. Klikněte na ladit a pak znovu spusťte ladění nebo na panelu nástrojů laděníklikněte na tlačítko restartovat ladění .Click Debug then Restart Debugging or in the Debug toolbar, click the Restart Debugging button.

Aktualizovat ladění

V prohlížeči otevřete službu a Všimněte si, že se zobrazí aktualizovaná zpráva.Open your service in a browser and notice your updated message is displayed.

Místo opětovného sestavování a opětovného nasazení nové image kontejneru pokaždé, když jsou provedeny úpravy kódu, Azure Dev Spaces přírůstkově znovu zkompiluje kód v rámci existujícího kontejneru, aby byla zajištěna rychlejší smyčka úprav/ladění.Instead of rebuilding and redeploying a new container image each time code edits are made, Azure Dev Spaces incrementally recompiles code within the existing container to provide a faster edit/debug loop.

Vyčištění prostředků AzureClean up your Azure resources

az group delete --name MyResourceGroup --yes --no-wait

Další postupNext steps

Přečtěte si, jak Azure Dev Spaces pomáhá vyvíjet složitější aplikace napříč více kontejnery a jak zjednodušit vývoj díky práci s různými verzemi nebo větvemi kódu v různých prostorech.Learn how Azure Dev Spaces helps you develop more complex applications across multiple containers, and how you can simplify collaborative development by working with different versions or branches of your code in different spaces.