Cvičení – vytvoření pracovního postupu pro žádost o přijetí změn
Vývojový tým vašeho webu vás požádal, abyste web aktualizovali tak, aby běžel v operačním systému Linux. V tomto cvičení přidáte ověřovací pracovní postup, který se automaticky spustí při otevření nebo aktualizaci žádosti o přijetí změn. Pak vytvoříte žádost o přijetí změn pro změnu operačního systému vašeho webu.
Během tohoto procesu:
- Vytvořte pracovní postup pro ověření žádosti o přijetí změn.
- Přidejte do pracovního postupu lintování Bicep.
- Vytvořte žádost o přijetí změn a sledujte spuštění pracovního postupu.
- Opravte všechny chyby identifikované pracovním postupem ověření žádosti o přijetí změn.
- Znovu spusťte pracovní postup a pak sloučíte a zavřete žádost o přijetí změn.
Vytvoření pracovního postupu pro spuštění při vytvoření a aktualizaci žádostí o přijetí změn
V editoru Visual Studio Code vytvořte nový soubor s názvem pr-validation.yml ve složce .github/workflows .
Do souboru přidejte následující kód:
name: pr-validation on: pull_request
Tento kód zajistí, že se pracovní postup spustí při každém vytvoření nebo aktualizaci žádosti o přijetí změn.
Poznámka:
Pracujete přímo s hlavní větví úložiště. Obvykle byste to neudělali, ale v tomto cvičení budete pracovat proti hlavním krokům. Ve vlastních projektech je důležité nastavit pravidla ochrany větví pro ochranu hlavní větve.
Přidání úlohy lint do pracovního postupu
Pokaždé, když otevřete nebo upravíte žádost o přijetí změn, chcete spustit krok linting pro soubory Bicep. V úložišti je opakovaně použitelný pracovní postup lint , který můžete volat z tohoto pracovního postupu.
Na konec existujícího obsahu souboru přidejte následující řádky, abyste znovu použili pracovní postup lint definovaný v úložišti:
jobs: lint: uses: ./.github/workflows/lint.yml
Vaše úložiště obsahuje bicepconfig.json soubor, který konfiguruje linter tak, aby místo upozornění vygeneroval chyby, takže selhání během úlohy lint způsobí selhání pracovního postupu.
Uložte provedené změny.
Potvrďte a nasdílejte změny do hlavní větve úložiště Git spuštěním následujících příkazů v terminálu editoru Visual Studio Code:
git add . git commit -m "Add first version of pull request validation workflow" git push
Aktualizace souboru Bicep
Dále upravte soubor Bicep vašeho webu tak, aby aktualizoval operační systém webu na Linux.
V terminálu editoru Visual Studio Code vytvořte novou větev pro změny spuštěním následujícího příkazu:
git checkout -b feature/linux-app
Otevřete soubor main.bicep ve složce deploy.
V horní části souboru pod definicemi proměnných definujte novou proměnnou pro architekturu aplikace, která se má použít:
// Define the names for resources. var appServiceAppName = 'toy-website-linux-${resourceNameSuffix}' var appServicePlanName = 'toy-website-linux' var storageAccountName = 'mystorage${resourceNameSuffix}' var appServiceAppLinuxFrameworkVersion = 'node|14-lts'
Toto nastavení říká službě Aplikace Azure Service, že aplikace bude sestavena pomocí verze 14 architektury Node.js.
Aktualizujte definici
appServicePlan
prostředku.kind
Přidejte vlastnost areserved
vlastnost v objektuproperties
:resource appServicePlan 'Microsoft.Web/serverfarms@2022-03-01' = { name: appServicePlanName location: location sku: environmentConfigurationMap[environmentType].appServicePlan.sku kind: 'linux' properties: { reserved: true } }
Aktualizujte definici
appServiceApp
prostředku, aby se nastavil aplikační architektura:resource appServiceApp 'Microsoft.Web/sites@2022-03-01' = { name: appServiceAppName location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true siteConfig: { linuxFxVersion: 'node|14-lts' } } }
Poznámka:
Možná si všimnete, že Bicep vás upozorní, že proměnnou
appServiceAppLinuxFrameworkVersion
nepoužíváte. Tady záměrně způsobujete chybu linteru, abyste viděli, jak vypadá v rámci žádosti o přijetí změn GitHubu.Uložte provedené změny.
Potvrďte a nasdílejte změny do úložiště Git spuštěním následujících příkazů v terminálu editoru Visual Studio Code:
git add . git commit -m "Update operating system to Linux" git push origin feature/linux-app
Vytvoření žádosti o přijetí změn
Teď, když je pracovní postup nakonfigurovaný a váš soubor Bicep se aktualizuje, můžete vytvořit žádost o přijetí změn.
V prohlížeči vyberte Kód.
Výběrem 2 větví otevřete seznam větví v úložišti GitHub.
Po krátkou dobu se zobrazí porovnání a žádost o přijetí změn ve větvi, která ještě nemá otevřenou žádost o přijetí změn. Je to zástupce stránky Otevřít žádost o přijetí změn.
Vedle větve feature/linux-app vyberte Nová žádost o přijetí změn. Možná budete muset vybrat ikonu Další (...), aby se zobrazila možnost Nová žádost o přijetí změn.
Vyberte Vytvořit žádost o přijetí změn.
Zobrazí se stránka s podrobnostmi žádosti o přijetí změn.
Prohlédněte si část Kontroly podrobností žádosti o přijetí změn.
Po chvíli si všimněte, že se aktivuje automatická kontrola. Kontrola spustí pracovní postup ověření žádosti o přijetí změn.
Spuštění pracovního postupu může nějakou dobu trvat. Aktualizujte okno prohlížeče, dokud neuvidíte kontroly stavu.
Až se kontrola dokončí, uvidíte, že selhala.
Poznámka:
GitHub umožňuje sloučit žádost o přijetí změn, i když kontroly stavu selhaly. Ve skutečném řešení byste měli nakonfigurovat pravidlo ochrany větví, které zabrání sloučení žádosti o přijetí změn, dokud nebudou kontroly stavu úspěšné.
Oprava chyb ověření žádostí o přijetí změn
V podokně kontroly stavu vyberte Podrobnosti a zkontrolujte protokol pracovního postupu.
Protokol obsahuje tuto zprávu z linteru Bicep:
Error no-unused-vars: Variable "appServiceAppLinuxFrameworkVersion" is declared but never used.
V editoru Visual Studio Code otevřete soubor deploy/main.bicep .
Na řádku 20 je proměnná s názvem
appServiceAppLinuxFrameworkVersion
. Proměnná se nepoužívá. V dalším kroku tuto chybu opravíte.appServiceApp
V definici prostředku aktualizujtelinuxFxVersion
vlastnost tak, aby místo nastavení vlastnosti na pevně zakódovanou hodnotu použila proměnnou:resource appServiceApp 'Microsoft.Web/sites@2022-03-01' = { name: appServiceAppName location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true siteConfig: { linuxFxVersion: appServiceAppLinuxFrameworkVersion } } }
V terminálu editoru Visual Studio Code potvrďte změny a nasdílejte je do úložiště.
git add . git commit -m "Fix Bicep file" git push origin feature/linux-app
Monitorování a sloučení žádosti o přijetí změn
Znovu otevřete prohlížeč na stránce s podrobnostmi žádosti o přijetí změn.
Ověření žádosti o přijetí změn se spustí znovu. Pokud kontrola stavu není spuštěná, aktualizujte stránku.
Počkejte na dokončení kontroly. Tentokrát je to úspěšné. V souboru Bicep nejsou žádné chyby syntaxe nebo linteru, takže jste připraveni žádost o přijetí změn sloučit.
Výběrem možnosti Sloučit žádost o přijetí změn zavřete a sloučíte změny v hlavní větvi.
Vyberte Potvrdit sloučení.