Rychlý Start: sestavení image

Azure Pipelines

začínáme s imagemi kontejneru pomocí Azure Pipelines k sestavení image. Vše, co potřebujete k sestavení image, je souboru Dockerfile v úložišti.

v závislosti na tom, jaký agent ve vašem kanálu používáte, můžete sestavit i kontejnery pro Linux i Windows. Jakmile sestavíte image, můžete ji následně vložit do Azure Container Registry, Docker Hub a služby kontejnerů Google. Další informace o vkládání imagí do registrů kontejnerů najdete v tématu věnovaném Vložení obrázku .

Požadavky

  • Účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
  • Účet GitHub. Pokud ho ještě nemáte, zaregistrujte se zdarma.
  • GitHub úložiště s souboru dockerfile. Pokud nemáte úložiště k použití, rozvětvení tohoto úložiště obsahujícího ukázkovou aplikaci a souboru Dockerfile:
    https://github.com/MicrosoftDocs/pipelines-javascript-docker
    

sestavení image pro Linux nebo Windows

  1. přihlaste se ke svojí organizaci Azure DevOps a přejděte do svého projektu.

  2. přejít na Pipelinesa pak vyberte nový kanál.

  3. jako umístění zdrojového kódu vyberte GitHub a vyberte své úložiště.

    Poznámka

    možná budete přesměrováni na GitHub pro přihlášení. pokud ano, zadejte přihlašovací údaje pro GitHub. k instalaci aplikace Azure Pipelines můžete přesměrovat GitHub. Pokud ano, vyberte schválit a nainstalovat.

  4. Vyberte Počáteční kanál. Nahraďte obsah Azure-Pipelines. yml tímto kódem. Pokud vytváříte aplikaci pro Linux, použijte ji ubuntu-1604vmImage . windows-latestPro Windows můžete použít vmImage .

            trigger:
            - main
    
            pool:
              vmImage: 'ubuntu-latest' # set to windows-latest or another Windows vmImage for Windows builds
    
            variables:
              imageName: 'pipelines-javascript-docker'
    
            steps:
            - task: Docker@2
              displayName: Build an image
              inputs:
                repository: $(imageName)
                command: build
                Dockerfile: app/Dockerfile
    

    Windows image kontejnerů se dají vytvořit pomocí agentů Microsoft hosted Windows nebo Windowsch samoobslužných agentů založených na platformě (všechna hostovaná Windows agenti se dodává s modulem Moby a klientem, který je potřebný pro sestavení docker). Image kontejnerů Linux se dají sestavit pomocí agentů Ubuntu hostovaných Microsoftem nebo v samoobslužných agentech založených na platformě Linux. přečtěte si další informace o možnostech agenta Windows a Linux dostupných u hostovaných agentů microsoftu.

    Poznámka

    V současné době se agenti Microsoft Host MacOS nedají použít k vytváření imagí kontejnerů, protože modul Moby potřebný k sestavení imagí není na těchto agentech předem nainstalovaný.

  5. Vyberte Uložit a spustit. Při přidávání do úložiště se zobrazí výzva k přidání potvrzovací zprávy azure-pipelines.yml . Upravte zprávu a kliknutím na tlačítko Uložit a spustit znovu zobrazte kanál v akci.

    Tip

    Přečtěte si další informace o tom, jak obrázek nasdílet, aby Azure Container Registry nebo nanabízel jiné Registry kontejnerů , jako je Google Container registry nebo Docker Hub. Přečtěte si další informace o úloze Docker , která se používá ve výše uvedené ukázce. Namísto použití doporučené úlohy Docker je také možné vyvolat příkazy Docker přímo pomocí úlohy příkazového řádku(skript).

Vyčištění prostředků

Pokud nebudete tuto aplikaci nadále používat, odstraňte kanál a úložiště kódu.

Časté otázky

Jaké obrázky z mezipaměti jsou k dispozici v hostovaných agentech?

Některé běžně používané image se ukládají do mezipaměti agentů hostovaných Microsoftem, aby se předešlo dlouhým časovým intervalům stráveným načtením těchto imagí z registru kontejnerů pro každou úlohu. Seznam imagí předem uložených do mezipaměti je k dispozici v poznámkách k verzi úložiště Azure-Pipelines-image Generation .

Návody nastavit proměnnou BuildKit pro buildy Docker?

BuildKit zavádí vylepšení sestavení v oblasti výkonu, správy úložišť, funkcí funkcí a zabezpečení. Pokud chcete povolit sestavení Docker založené na BuildKit, nastavte proměnnou DOCKER_BUILDKIT.

trigger:
- main
   
pool:
  vmImage: 'ubuntu-latest'
   

variables:
  imageName: 'pipelines-javascript-docker'
  DOCKER_BUILDKIT: 1
    
steps:
- task: Docker@2
  displayName: Build an image
  inputs:
    repository: $(imageName)
    command: build
    Dockerfile: app/Dockerfile

Poznámka

BuildKit se v tuto chvíli v hostitelích Windows nepodporuje.

Jak můžu použít samoobslužného agenta?

Před vytvořením image kontejneru je potřeba, abyste na svém počítači s vlastním hostitelem nainstalovali Docker. Přidejte úlohu instalačního programu Docker do kanálu před úlohu Docker , která vytváří image.

Jak můžu vytvořit sestavení Docker založené na skriptech místo pomocí úlohy Docker?

Můžete použít příkaz build (nebo jakýkoli jiný příkaz Docker).

docker build -f Dockerfile -t foobar.azurecr.io/hello:world .

Tento příkaz vytvoří ekvivalentní obrázek k jedné sestavené pomocí úlohy Docker. Samotný úkol Docker interně volá binární soubor Docker ve skriptu a zároveň spojuje několik dalších příkazů, které poskytují několik dalších výhod. Další informace najdete v dokumentaci k Docker Task.

Je možné při Azure Pipelines sestavení znovu využít ukládání vrstev do mezipaměti?

V aktuálním návrhu agentů hostovaných Microsoftem je každá úloha odeslána na nově zřízený virtuální počítač (na základě image vygenerované z šablon úložiště Azure-Pipelines-image-Generation ). Tyto virtuální počítače se vyčistí, jakmile úloha dosáhne dokončení, není trvalá, takže se nedá znovu použít pro následné úlohy. Nedočasný charakter virtuálních počítačů brání opakovanému použití vrstev Docker v mezipaměti.

Vrstvy Docker můžete ale ukládat do mezipaměti s agenty v místním prostředí, protože pro tyto agenty neplatí dočasný problém s životností.

Jak vytvářet image kontejnerů pro Linux pro jiné architektury než x64?

Pokud používáte agenty Linux hostované Microsoftem, vytvoříte pro architekturu x64 image kontejnerů pro Linux. K vytváření imagí pro jiné architektury (například x86 nebo ARM) můžete použít emulátor počítače, jako je qemu. Následující kroky ukazují, jak vytvořit image kontejneru ARM pomocí QEMU:

  1. Vytvořte souboru Dockerfile pomocí základní image, která odpovídá cílové architektuře:

    FROM arm64v8/alpine:latest
    
  2. Než sestavíte image, spusťte následující skript v úloze:

    # register QEMU binary - this can be done by running the following image
    docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
    # build your image
    

Další informace najdete v tématu qemu-User-static on GitHub.

Jak spouštět testy a publikovat výsledky testů pro aplikace s využitím kontejnerů?

Pro různé možnosti testování kontejnerových aplikací a publikování výsledných výsledků testů, Projděte si úlohu publikování výsledky testů.

Další kroky

V dalším článku se dozvíte, jak odeslat obrázek do registru kontejneru.