Rychlý start – Použití Azure Pipelines k sestavení a publikování balíčku Node.js

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Pomocí kanálu Azure DevOps můžete sestavovat, nasazovat a testovat javascriptové aplikace.

Tento rychlý start vás provede použitím kanálu k vytvoření balíčku Node.js pomocí node Správce balíčků (npm) a publikování artefaktu kanálu.

Požadavky

V Azure DevOps musíte mít následující položky:

1 – Vytvoření forku vzorového kódu

Vytvořte fork následující ukázkové serverové aplikace Express.js na GitHubu.

https://github.com/Azure-Samples/js-e2e-express-server

2. Vytvoření kanálu

  1. Přihlaste se ke službě Azure Pipelines. Váš prohlížeč přejde na https://dev.azure.com/my-organization-name řídicí panel Azure DevOps a zobrazí ho.

  2. Přejděte do projektu a vyberte Kanály>Vytvořit nový kanál.

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

  4. Pokud jste přesměrováni na GitHub, abyste se mohli přihlásit, zadejte svoje přihlašovací údaje GitHubu.

  5. Jakmile se zobrazí seznam úložišť, vyberte své Node.js ukázkové úložiště.

  6. Azure Pipelines analyzuje kód ve vašem úložišti a doporučí Node.js šablonu pro váš kanál. Vyberte tuto šablonu.

  7. Azure Pipelines vygeneruje soubor YAML pro váš kanál. Vyberte Uložit a spustit>potvrzení přímo do hlavní větve a pak zvolte Uložit a spustit znovu.

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

Až budete hotovi, máte v úložišti funkční soubor YAML azure-pipelines.yml , který je připravený k přizpůsobení.

  1. Vytvořte kanál a vyberte šablonu YAML .

  2. Nastavte fond agentů a cestu k souboru YAML pro váš kanál.

  3. Uložte kanál a zařadíte sestavení do fronty. Když se zobrazí zpráva sestavení #nnnnnnnn.n ve frontě, vyberte odkaz na číslo a zobrazte kanál v akci.

3. Sestavení balíčku a publikování artefaktu

  1. Upravtesoubor azure-pipelines.yml .

  2. Aktualizujte úlohu instalačního programu nástroje Node.js tak, aby používala Node.js verze 16 LTS.

    trigger:
    - main
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
    - task: UseNode@1
      inputs:
        version: '16.x'
      displayName: 'Install Node.js'
    
    - script: |
        npm install
      displayName: 'npm install'
    
    - script: |
        npm run build
      displayName: 'npm build'
    
  3. Přidáním nových úloh do kanálu zkopírujte balíček npm, package.json a publikujte artefakt. Úloha Kopírovat soubory kopíruje soubory z místní cesty agenta, do kterého se stáhnou soubory zdrojového kódu, a uloží soubory do místní cesty na agenta, do kterého se zkopírují všechny artefakty před jejich odesláním do cíle. Kopie se získají jenom v souborech src a public složkách. Úloha Publikování artefaktu kanálu stáhne soubory z dřívějších úloh kopírování souborů a zpřístupní je jako artefakty kanálu, které budou publikovány s vaším buildem kanálu.

    - task: CopyFiles@2
      inputs:
        sourceFolder: '$(Build.SourcesDirectory)'
        contents: |
           src/*
           public/*
        targetFolder: '$(Build.ArtifactStagingDirectory)'
      displayName: 'Copy project files'
    
    - task: PublishPipelineArtifact@1
      inputs:
        artifactName: e2e-server
        targetPath: '$(Build.ArtifactStagingDirectory)'
        publishLocation: 'pipeline'
      displayName: 'Publish npm artifact'
    

4. Spuštění kanálu

Uložte a spusťte kanál. Po spuštění kanálu ověřte, že se úloha úspěšně spustila a že se zobrazuje publikovaný artefakt.

Snímek obrazovky úspěšného spuštění kanálu s artefaktem

  1. Vytvoření forku následujícího úložiště na GitHubu

    https://github.com/Azure-Samples/js-e2e-express-server
    
  2. Jakmile budete mít ukázkový kód ve vlastním úložišti, vytvořte svůj první kanál a vyberte šablonu Prázdný proces .

  3. Na kartě Úlohy v editoru kanálů vyberte Zpracovata následujícím způsobem změňte vlastnosti:

    • Fronta agenta:Hosted Ubuntu Latest
  4. Přidejte do kanálu v zadaném pořadí následující úlohy:

    • npm

      • Příkaz:install
    • npm

      • Zobrazovaný název:npm test
      • Příkaz:custom
      • Příkaz a argumenty:test
    • Publikování výsledků testu

      • Ponechte všechny výchozí hodnoty vlastností.
    • Archivovat soubory

      • Kořenová složka nebo soubor k archivaci:$(System.DefaultWorkingDirectory)
      • Předpřipravený název kořenové složky k archivačním cestám: Nezaškrtnuto
    • Publikování artefaktů sestavení

      • Ponechte všechny výchozí hodnoty vlastností.
  5. Uložte kanál a zařadíte sestavení do fronty, abyste ho viděli v akci.

Další kroky

Blahopřejeme, úspěšně jste dokončili tento rychlý start.