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
Egy GitHub-fiók. regisztráljon ingyenesen, ha még nincs ilyenje.
A szolgáltatáskapcsolatok rendszergazdai szerepköre az Azure DevOps-projektben.
Egy Azure-fiók, aktív előfizetéssel. Regisztráljon ingyenesen , ha még nincs ilyenje.
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
Nyissa meg az Azure Portalt.
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.
Válassza ki az előfizetést, majd válassza ki az erőforráscsoportot, vagy hozzon létre egy újat.
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.
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.
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
Nyissa meg az Azure Portalt.
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.
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.
Adjon nevet a virtuális gépnek, és válasszon egy rendszerképet.
Adja meg a felhasználónevet és a jelszót, majd válassza a Véleményezés + létrehozás lehetőséget.
Tekintse át a beállításokat, majd válassza a Létrehozás lehetőséget, ha elkészült.
Az üzembe helyezés végeztével válassza az Erőforrás megnyitása lehetőséget.
Ügynökkészlet létrehozása
Az Azure DevOps-projektben válassza a fogaskerék ikont a Projekt beállításaihoz való navigáláshoz.
Válassza az Ügynökkészletek lehetőséget, majd válassza a Készlet hozzáadása lehetőséget.
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.
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.
Ha elkészült, válassza a Létrehozás lehetőséget .
Most válassza ki az imént létrehozott készletet, majd válassza az Új ügynök lehetőséget.
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.
Személyes hozzáférési jogkivonat létrehozása
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.
Új személyes hozzáférési jogkivonat létrehozásához válassza az Új jogkivonat lehetőséget.
Adja meg a PAT nevét, majd válasszon egy lejárati dátumot.
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.
Válassza az Ügynökkészletek –>Olvasás és kezelés, valamint az Üzembehelyezési csoportok –>Olvasás és kezelés lehetőséget.
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
Az Azure Portalon csatlakozzon a virtuális géphez.
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
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")
Futtassa a következő parancsot az ügynök konfigurálásának megkezdéséhez.
.\config.cmd
Adja meg a kiszolgáló URL-címét, amikor bemenetet kér. Példa: https://dev.azure.com/fabrikamFiber
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.
Illessze be a korábban létrehozott személyes hozzáférési jogkivonatot, majd nyomja le az Enter billentyűt.
Adja meg az ügynökkészlet nevét, majd adja meg az ügynök nevét.
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.
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>
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
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
Az ügynöknek most szerepelnie kell az Ügynökkészletben –> Ügynökök az Azure DevOps portálon.
A felügyelt identitás beállítása
Az Azure Portalon keresse meg a korábban létrehozott virtuális gépet.
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.
Ha elkészült, válassza a Mentés lehetőséget, majd erősítse meg a választását.
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.
Válassza ki az Erőforráscsoportot a Hatókör legördülő menüből.
Válassza ki az előfizetést és az erőforráscsoportot, majd válassza ki az AcrPush szerepkört.
Ismételje meg az 5– 6. lépést az AcrPull-szerepkör hozzáadásához.
Docker-beállításjegyzék-szolgáltatáskapcsolat létrehozása
Az Azure DevOps-projektben válassza a fogaskerék ikont a Projekt beállításaihoz való navigáláshoz.
Válassza ki a szolgáltatáskapcsolatokat a bal oldali panelen.
Válassza az Új szolgáltatáskapcsolat, majd a Docker Registry , majd a Tovább lehetőséget.
Válassza ki az Azure Container Registryt, majd válassza ki a felügyeltszolgáltatás-identitást hitelesítési típusként.
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.
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.
Ha elkészült, válassza a Mentés lehetőséget.
Létrehozás és közzététel az Azure Container Registryben
Az Azure DevOps-projektben válassza a Folyamatok , majd a Folyamat létrehozása lehetőséget.
Válassza ki a forráskódot futtató szolgáltatást (Azure Repos, GitHub stb.).
Válassza ki az adattárat, majd válassza a Starter-folyamatot.
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)
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.
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