Sdílet prostřednictvím


Nasazení na virtuální počítač s Linuxem

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Zjistěte, jak nastavit kanál Azure DevOps pro nasazení více virtuálních počítačů, které používají prostředí a prostředky virtuálních počítačů.

Pokyny v tomto článku použijte pro každou aplikaci, která publikuje balíček pro nasazení webu.

Požadavky

Získání ukázkového kódu

Pokud už na GitHubu máte aplikaci, kterou chcete nasadit, můžete pro tento kód vytvořit kanál.

Pokud jste nový uživatel, vytvořte fork tohoto úložiště na GitHubu:

https://github.com/MicrosoftDocs/pipelines-javascript

Vytvoření prostředí s virtuálními počítači

Virtuální počítače můžete přidat jako prostředky v rámci prostředí a cílit na ně pro nasazení s více virtuálními počítači. Zobrazení historie nasazení poskytuje sledovatelnost z virtuálního počítače do potvrzení.

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte ke svému projektu.

  2. Přejděte na stránku Kanály a vyberte Prostředí>Vytvořit prostředí.

  3. Zadejte Název prostředí (povinné) a Popis.

  4. Zvolte 虛擬機器 jako prostředek, který chcete přidat do prostředí, a pak vyberte Další.

  5. Jako operační systém zvolte Linux a zkopírujte registrační skript.

  6. Spusťte registrační skript na každém cílovém virtuálním počítači zaregistrovaných v prostředí.

    Poznámka

    • Token PAT (Personal Access Token) přihlášeného uživatele se před vloží do skriptu a vyprší po třech hodinách.
    • Pokud už na virtuálním počítači běží agent, zadejte jedinečný název pro registraci v prostředí.
  7. Jakmile se virtuální počítač zaregistruje, začne se zobrazovat jako prostředek prostředí v části Prostředky.

    Snímek obrazovky s vytvořením virtuálního počítače

  8. Pokud chcete přidat další virtuální počítače, znovu zkopírujte skript. Vyberte Přidat prostředek a zvolte 虛擬機器. Tento skript je stejný pro všechny virtuální počítače, které chcete přidat do stejného prostředí.

    Každý počítač komunikuje se službou Azure Pipelines a koordinuje nasazení vaší aplikace.

    Snímek obrazovky se zobrazením prostředků virtuálního počítače

  9. Můžete přidat nebo odebrat značky virtuálního počítače. V části Prostředky vyberte tečky na konci každého prostředku virtuálního počítače.

    Značky omezují nasazení na konkrétní virtuální počítače, pokud se prostředí používá v úloze nasazení. Každá značka je omezená na 256 znaků. Počet značek, které můžete vytvořit, není nijak omezený.

    Snímek obrazovky se zobrazením značek


Definování kanálu sestavení CI

Potřebujete kanál sestavení CI, který publikuje vaši webovou aplikaci. Potřebujete také skript nasazení, který se dá spustit místně na serveru Ubuntu. Nastavte kanál sestavení CI na základě modulu runtime, který chcete použít.

  1. Přihlaste se k organizaci Azure DevOps a přejděte do svého projektu.

  2. V projektu přejděte na stránku Kanály a zvolte akci pro vytvoření nového kanálu.

  3. Jako umístění zdrojového kódu vyberte GitHub .

    Možná budete přesměrováni na GitHub, abyste se přihlásili. Pokud ano, zadejte své přihlašovací údaje GitHubu.

  4. Jakmile se zobrazí seznam úložišť, vyberte požadované úložiště ukázkové aplikace.

  5. Azure Pipelines analyzuje vaše úložiště a doporučí vhodnou šablonu kanálu.

    Vyberte úvodní šablonu a zkopírujte tento fragment kódu YAML a sestavte obecný projekt Node.js pomocí npm. Do tohoto YAML přidáte v dalších krocích.

    trigger:
    - main
    
    pool:
      vmImage: ubuntu-latest
    
    stages:
    - stage: Build
      displayName: Build stage
      jobs:  
      - job: Build
        displayName: Build
        steps:
        - task: UseNode@1
          inputs:
            version: '16.x'
          displayName: 'Install Node.js'
        - script: |
            npm install
            npm run build --if-present
            npm run test --if-present
          displayName: 'npm install, build and test'
        - task: ArchiveFiles@2
          displayName: 'Archive files'
          inputs:
            rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
            includeRootFolder: false
            archiveType: zip
            archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
            replaceExistingArchive: true
        - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
          artifact: drop
    

    Další pokyny najdete v tématu Vytvoření Node.js aplikace pomocí příkazu k vytvoření sestavení.

    • Vyberte Uložit a spustit>Potvrzení přímo do hlavní větve>Uložit a spustit.

      Spustí se nové spuštění. Počkejte na dokončení spuštění.

Definování kroků CD pro nasazení na virtuální počítač s Linuxem

  1. Upravte kanál a přidejte úlohu nasazení pomocí odkazu na prostředí a prostředky virtuálního počítače, které jste vytvořili dříve. Aktualizujte tags tak, aby odkazovat na značky pro váš virtuální počítač.

    jobs:  
    - deployment: VMDeploy
      displayName: Web deploy
      environment:
        name:  <environment name>
        resourceType: VirtualMachine
        tags: web1 # Update or remove value to match your tag
      strategy:
    

Další informace o klíčovém slovu environment a prostředcích, na které cílí úloha nasazení, najdete ve schématu YAML.

  1. V prostředí vyberte konkrétní sady virtuálních počítačů, které chcete přijmout, zadáním značek , které jste definovali pro jednotlivé virtuální počítače v prostředí.

    Další informace najdete v kompletním schématu YAML pro úlohu nasazení.

  2. Jako strategii nasazení zadejte buď nebo runOncerolling .

    runOnce je nejjednodušší strategie nasazení. Všechny zachytávání životního cyklu, konkrétně preDeploydeploy, routeTraffica postRouteTraffic, se spustí jednou. Pak se provede buď nebo on:on:successfailure .

    Podívejte se na následující příklad úlohy nasazení pro runOnce:

    jobs:
    - deployment: VMDeploy
      displayName: Web deploy
      environment:
        name: <environment name>
        resourceType: VirtualMachine
      strategy:
        runOnce:
          deploy:
            steps:
            - script: echo my first deployment
    
  3. Projděte si následující příklad fragmentu kódu YAML pro strategii postupného zavádění s využitím kanálu Java. V každé iteraci můžete aktualizovat až pět cílů. maxParallel určuje počet cílů, na které je možné nasadit paralelně. Výběr počítá s absolutním počtem nebo procentem cílů, které musí zůstat kdykoli k dispozici, s výjimkou cílů nasazovaných do. Používá se také k určení podmínek úspěchu a selhání během nasazení.

    jobs: 
    - deployment: VMDeploy
      displayName: web
      environment:
        name: <environment name>
        resourceType: VirtualMachine
      strategy:
          rolling:
            maxParallel: 2  #for percentages, mention as x%
            preDeploy:
              steps:
              - download: current
                artifact: drop
              - script: echo initialize, cleanup, backup, install certs
            deploy:
              steps:
              - task: Bash@3
                inputs:
                  targetType: 'inline'
                  script: |
                    # Modify deployment script based on the app type
                    echo "Starting deployment script run"
                    sudo java -jar '$(Pipeline.Workspace)/drop/**/target/*.jar'
            routeTraffic:
              steps:
              - script: echo routing traffic
            postRouteTraffic:
              steps:
              - script: echo health check post-route traffic
            on:
              failure:
                steps:
                - script: echo Restore from backup! This is on failure
              success:
                steps:
                - script: echo Notify! This is on success
    

    Při každém spuštění této úlohy se zaznamenává historie nasazení pro <environment name> prostředí, které jste vytvořili a zaregistrovali virtuální počítače.

Zobrazení sledovatelnosti kanálu v prostředí

Zobrazení Nasazení poskytuje úplnou sledovatelnost potvrzení a pracovních položek a historii nasazení mezi kanály podle prostředí.

Snímek obrazovky se zobrazením nasazení

Další kroky