Megosztás a következőn keresztül:


Docker-rendszerképek létrehozása és közzététele az Azure Container Registryben

Azure DevOps Services | Azure DevOps Server 2022

Az Azure Pipelines használatával beállíthat egy folyamat-munkafolyamatot a Docker-rendszerképek létrehozásához és közzétételéhez az Azure Container Registryben. Ebből a cikkből megtudhatja, hogyan:

  • Azure Container Registry-adatbázis létrehozása
  • Saját üzemeltetésű ügynök beállítása Azure-beli virtuális gépen
  • A felügyelt szolgáltatás identitásának beállítása
  • Docker Registry-szolgáltatáskapcsolat létrehozása
  • Rendszerkép létrehozása és közzététele az Azure Container Registryben

Előfeltételek

A kód letöltése

A mintaalkalmazás elágazása vagy klónozása az oktatóanyaggal együtt.

https://github.com/MicrosoftDocs/pipelines-javascript-docker

Azure Container Registry-adatbázis létrehozása

  1. Nyissa meg az Azure Portalt.

  2. Válassza az Erőforrás létrehozása lehetőséget a bal oldali navigációs panelen, majd válassza a Tárolók , majd a Tárolóregisztrációs adatbázis lehetőséget.

  3. Válassza ki az előfizetést, majd válassza ki az erőforráscsoportot, vagy hozzon létre egy újat.

  4. Adja meg a tárolóregisztrációs adatbázis beállításjegyzékének nevét . A beállításjegyzék nevének egyedinek kell lennie az Azure-ban, és legalább 5 karaktert kell tartalmaznia.

  5. Válassza ki az előnyben részesített helyet és termékváltozatot, majd válassza a Véleményezés + létrehozás lehetőséget.

  6. Tekintse át a beállításokat, majd válassza a Létrehozás lehetőséget, amikor elkészült.

Saját üzemeltetésű ügynök virtuális gép beállítása

Ha docker-rendszerképeket szeretne közzétenni az Azure Container Registryben a Felügyelt szolgáltatás identitásával az Azure Pipelines használatával, saját saját üzemeltetésű ügynököt kell beállítanunk egy Azure-beli virtuális gépen.

Virtuális gép létrehozása

  1. Nyissa meg az Azure Portalt.

  2. Válassza az Erőforrás létrehozása lehetőséget a bal oldali navigációs panelen, majd válassza a Virtuális gép –> Létrehozás lehetőséget.

  3. Válassza ki az előfizetést, majd válassza ki a tárolóregisztrációs adatbázis létrehozásához használt erőforráscsoportot.

  4. Adjon nevet a virtuális gépnek, és válasszon egy rendszerképet.

  5. Adja meg a felhasználónevet és a jelszót, majd válassza a Véleményezés + létrehozás lehetőséget.

  6. Tekintse át a beállításokat, majd válassza a Létrehozás lehetőséget, ha elkészült.

  7. Az üzembe helyezés végeztével válassza az Erőforrás megnyitása lehetőséget.

Ügynökkészlet létrehozása

  1. Az Azure DevOps-projektben válassza a fogaskerék ikont fogaskerék ikon a Projekt beállításaihoz való navigáláshoz.

  2. Válassza az Ügynökkészletek lehetőséget, majd válassza a Készlet hozzáadása lehetőséget.

  3. Válassza az Új lehetőséget, majd válassza a Saját üzemeltetésű lehetőséget a Készlet típusa legördülő menüben.

  4. Adjon nevet a készletnek, majd jelölje be az Összes folyamat hozzáférési engedélyének megadása jelölőnégyzetet.

  5. Ha elkészült, válassza a Létrehozás lehetőséget .

  6. Most válassza ki az imént létrehozott készletet, majd válassza az Új ügynök lehetőséget.

  7. Az ebben az ablakban található utasításokat követve állítjuk be az ügynököt a korábban létrehozott virtuális gépen. Kattintson a Másolás gombra a vágólapra mutató letöltési hivatkozás másolásához.

    Egy ügynök beállítását bemutató képernyőkép.

Személyes hozzáférési jogkivonat létrehozása

  1. Az Azure DevOps-projektben válassza a Felhasználói beállítások, majd a Személyes hozzáférési jogkivonatok lehetőséget.

  2. Új személyes hozzáférési jogkivonat létrehozásához válassza az Új jogkivonat lehetőséget.

  3. Adja meg a PAT nevét, majd válasszon egy lejárati dátumot.

  4. Válassza a Hatókörökben definiált egyéni beállítást, majd az Összes hatókör megjelenítése lehetőséget.

  5. Válassza az Ügynökkészletek>Olvasás és kezelés, valamint az Üzembehelyezési csoportok –>Olvasás és kezelés lehetőséget.

  6. Ha elkészült, válassza a Létrehozás lehetőséget, és mentse a PAT-t egy biztonságos helyre.

Saját üzemeltetésű ügynök beállítása

  1. Az Azure Portalon csatlakozzon a virtuális géphez.

  2. Egy emelt szintű PowerShell-parancssorban futtassa az alábbi parancsot az ügynök letöltéséhez.

    Invoke-WebRequest -URI <YOUR_AGENT_DOWNLOAD_LINK> -UseBasicParsing  -OutFile <FILE_PATH> 
    ##Example: Invoke-WebRequest -URI https://vstsagentpackage.azureedge.net/agent/2.213.2/vsts-agent-win-x64-2.213.2.zip -OutFile C:\vsts-agent-win-x64-2.213.2.zip
    
  3. Futtassa az alábbi parancsot az ügynök kinyeréséhez és létrehozásához.

    mkdir agent ; cd agent
    Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("<FILE_PATH>", "$PWD")
    
  4. Futtassa a következő parancsot az ügynök konfigurálásának megkezdéséhez.

    .\config.cmd
    
  5. Adja meg a kiszolgáló URL-címét, amikor bemenetet kér. Példa: https://dev.azure.com/fabrikamFiber

  6. A PAT-hitelesítés kiválasztásához nyomja le az Enter billentyűt, amikor a rendszer a hitelesítési típus megadását kéri.

  7. Illessze be a korábban létrehozott személyes hozzáférési jogkivonatot, majd nyomja le az Enter billentyűt.

  8. Adja meg az ügynökkészlet nevét, majd adja meg az ügynök nevét.

  9. Hagyja meg a munkahelyi mappa alapértelmezett értékét, majd adja meg az Y értéket, ha szolgáltatásként szeretné futtatni az ügynököt.

    Képernyőkép arról, hogyan állíthat be ügynököt egy Azure-beli virtuális gépen.

  10. Most, hogy az ügynök készen áll a feladatok figyelésére, telepítsük a Dockert a virtuális gépünkre. Futtassa a következő parancsot a Docker letöltéséhez.

    Invoke-WebRequest -URI https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe -OutFile <DOWNLOAD_PATH>
    
  11. Lépjen a letöltési útvonalra, majd futtassa a következő parancsot a Docker telepítéséhez és elindításához.

    Start-Process 'Docker%20Desktop%20Installer.exe' -Wait install
    
  12. Most lépjen vissza az ügynökmappához, és futtassa a parancsfájlt az ügynök Azure-beli virtuális gépen való futtatásához.

    .\run.cmd
    
  13. Az ügynöknek most szerepelnie kell az Ügynökkészletben –> Ügynökök az Azure DevOps portálon.

    Képernyőkép az ügynökök lapon elérhető ügynökről.

A felügyelt identitás beállítása

  1. Az Azure Portalon keresse meg a korábban létrehozott virtuális gépet.

  2. Válassza az Identitás lehetőséget a bal oldali navigációs panelen, majd engedélyezze a rendszer által hozzárendelt identitást.

  3. Ha elkészült, válassza a Mentés lehetőséget, majd erősítse meg a választását.

    Képernyőkép a rendszer által hozzárendelt identitás engedélyezéséről.

  4. Válassza ki az Azure-szerepkör-hozzárendeléseket, majd válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget.

  5. Válassza ki az Erőforráscsoportot a Hatókör legördülő menüből.

  6. Válassza ki az előfizetést és az erőforráscsoportot, majd válassza ki az AcrPush szerepkört.

  7. Ismételje meg az 5– 6. lépést az AcrPull-szerepkör hozzáadásához.

    Képernyőkép az acrpull és a leküldéses szerepkörök beállításáról.

Docker-beállításjegyzék-szolgáltatáskapcsolat létrehozása

  1. Az Azure DevOps-projektben válassza a fogaskerék ikont fogaskerék ikon a Projekt beállításaihoz való navigáláshoz.

  2. Válassza ki a szolgáltatáskapcsolatokat a bal oldali panelen.

  3. Válassza az Új szolgáltatáskapcsolat, majd a Docker Registry , majd a Tovább lehetőséget.

  4. Válassza ki az Azure Container Registryt, majd válassza ki a felügyeltszolgáltatás-identitást hitelesítési típusként.

  5. Adja meg az előfizetés-azonosító előfizetésének nevét és az Azure Container Registry bejelentkezési kiszolgálóját. Illessze be a virtuális gép rendszer által hozzárendelt bérlőazonosítóját, amelyet az előző lépésben hozott létre a Bérlőazonosító szövegmezőben.

  6. Adja meg a szolgáltatáskapcsolat nevét, majd jelölje be az Összes folyamat hozzáférési engedélyének megadása jelölőnégyzetet. A beállítás kiválasztásához szüksége lesz a szolgáltatáskapcsolat-rendszergazdai szerepkörre.

  7. Ha elkészült, válassza a Mentés lehetőséget.

    Képernyőkép a Docker-beállításjegyzék-szolgáltatás MSI-kapcsolatának beállításáról.

Létrehozás és közzététel az Azure Container Registryben

  1. Az Azure DevOps-projektben válassza a Folyamatok , majd a Folyamat létrehozása lehetőséget.

  2. Válassza ki a forráskódot futtató szolgáltatást (Azure Repos, GitHub stb.).

  3. Válassza ki az adattárat, majd válassza a Starter-folyamatot.

  4. Törölje az alapértelmezett yaml-folyamatot, és használja a következő kódrészletet:

    trigger:
    - main
    
    variables:
      dockerRegistryServiceConnection: '<SERVICE_CONNECTION_NAME>'
      imageRepository: '<IMAGE_NAME>'
      dockerfilePath: '$(Build.SourcesDirectory)/app/Dockerfile'
      tag: '$(Build.BuildId)'
    
    stages:
    - stage: Build
      displayName: Build and publish stage
      jobs:
      - job: Build
        displayName: Build job
        pool:
          name: '<YOUR_AGENT_POOL_NAME>'
        steps:
        - task: DockerInstaller@0
          inputs:
            dockerVersion: '17.09.0-ce'
    
        - task: Docker@2
          displayName: Build and publish image to Azure Container Registry
          inputs:
            command: buildAndPush
            containerRegistry: $(dockerRegistryServiceConnection)
            repository: $(imageRepository)
            dockerfile: $(dockerfilePath)
            tags: |
              $(tag)
    
  5. Miután a folyamatfuttatás befejeződött, ellenőrizheti a rendszerképet az Azure-ban. Nyissa meg az Azure Container Registryt az Azure Portalon, majd válassza az Adattárak lehetőséget.

    Képernyőkép a képről az Azure Portalon.

Az erőforrások eltávolítása

Ha nem tervezi folytatni az alkalmazás használatát, törölje az erőforráscsoportot, hogy elkerülje a folyamatban lévő díjakat.

az group delete --name myapp-rg