Cvičení – vytvoření pracovního postupu pro žádost o přijetí změn

Dokončeno

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

  1. V editoru Visual Studio Code vytvořte nový soubor s názvem pr-validation.yml ve složce .github/workflows .

    Snímek obrazovky editoru Visual Studio Code, který zobrazuje soubor YML pro ověření žádosti o přijetí změn ve složce pracovních postupů

  2. 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.

  1. 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.

  2. Uložte provedené změny.

  3. 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.

  1. 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
    
  2. Otevřete soubor main.bicep ve složce deploy.

  3. 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.

  4. Aktualizujte definici appServicePlan prostředku. kind Přidejte vlastnost a reserved 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
      }
    }
    
  5. 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.

  6. Uložte provedené změny.

  7. 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.

  1. V prohlížeči vyberte Kód.

  2. Výběrem 2 větví otevřete seznam větví v úložišti GitHub.

    Snímek obrazovky GitHubu se seznamem větví úložiště

    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.

  3. 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.

    Snímek obrazovky GitHubu s odkazem na vytvoření žádosti o přijetí změn pro větev aplikace lomítko pro Linux

  4. Vyberte Vytvořit žádost o přijetí změn.

    Snímek obrazovky GitHubu s podoknem Otevřít žádost o přijetí změn, které zobrazuje tlačítko Vytvořit žádost o přijetí změn

    Zobrazí se stránka s podrobnostmi žádosti o přijetí změn.

  5. 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.

    Snímek obrazovky GitHubu, který zobrazuje kontrolu stavu selhání na stránce s podrobnostmi žádosti o přijetí změn

    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

  1. V podokně kontroly stavu vyberte Podrobnosti a zkontrolujte protokol pracovního postupu.

    Snímek obrazovky GitHubu, který zobrazuje protokol pracovního postupu včetně chyby ověření

    Protokol obsahuje tuto zprávu z linteru Bicep:

    Error no-unused-vars: Variable "appServiceAppLinuxFrameworkVersion" is declared but never used.
    
  2. 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.

  3. appServiceApp V definici prostředku aktualizujte linuxFxVersion 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
        }
      }
    }
    
  4. 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

  1. 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.

  2. Výběrem možnosti Sloučit žádost o přijetí změn zavřete a sloučíte změny v hlavní větvi.

    Snímek obrazovky GitHubu s tlačítkem Sloučit žádost o přijetí změn na stránce s podrobnostmi žádosti o přijetí změn

  3. Vyberte Potvrdit sloučení.