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
- Účet Azure s aktivním předplatným. Vytvořte si zdarma účet.
- Aktivní organizace Azure DevOps. Zaregistrujte se ke službě Azure Pipelines.
- Virtuální počítač s Linuxem hostovaný v Azure.
- Pokud chcete nainstalovat javascriptovou nebo Node.js aplikaci, nastavte virtuální počítač s Linuxem s Nginxem v Azure, přečtěte si téma Vytvoření virtuálního počítače s Linuxem pomocí Azure CLI.
- Pokud chcete nasadit aplikace založené na Platformě Java Spring Boot a Spring Cloud, vytvořte v Azure virtuální počítač s Linuxem pomocí šablony Java 13 na Ubuntu 20.04 , která poskytuje plně podporovaný modul runtime založený na OpenJDK.
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í.
Přihlaste se ke své organizaci Azure DevOps a přejděte ke svému projektu.
Přejděte na stránku Kanály a vyberte Prostředí>Vytvořit prostředí.
Zadejte Název prostředí (povinné) a Popis.
Zvolte 虛擬機器 jako prostředek, který chcete přidat do prostředí, a pak vyberte Další.
Jako operační systém zvolte Linux a zkopírujte registrační skript.
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í.
Jakmile se virtuální počítač zaregistruje, začne se zobrazovat jako prostředek prostředí v části Prostředky.
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.
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ý.
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.
Přihlaste se k organizaci Azure DevOps a přejděte do svého projektu.
V projektu přejděte na stránku Kanály a zvolte akci pro vytvoření nového kanálu.
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.
Jakmile se zobrazí seznam úložišť, vyberte požadované úložiště ukázkové aplikace.
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
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.
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í.
Jako strategii nasazení zadejte buď nebo
runOnce
rolling
.runOnce
je nejjednodušší strategie nasazení. Všechny zachytávání životního cyklu, konkrétněpreDeploy
deploy
,routeTraffic
apostRouteTraffic
, se spustí jednou. Pak se provede buď neboon:
on:
success
failure
.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
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í.
Další kroky
Související články
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro