Docker-rendszerképek létrehozása és leküldése az Azure Container Registrybe a Docker YAML használatával
Azure DevOps Services
Ez az oktatóanyag bemutatja, hogyan használhat egy Azure Pipelines Docker-sablonon alapuló folyamatot egy tárolóalapú alkalmazás létrehozásához és az Azure Container Registrybe való leküldéséhez. A sablon beállít egy folyamatos integrációs YAML-folyamatot, amelyben az új kódtár módosításai aktiválják a folyamatot a frissített Docker-rendszerképek beállításjegyzékben való létrehozásához és közzétételéhez.
A Docker-tárolósablon-folyamat a Microsoft által üzemeltetett ügynököket használja, és létrehoz egy egyszerű szolgáltatáskapcsolatot az Azure Container Registryhez. A saját üzemeltetésű ügynökökkel és saját maga létrehozott szolgáltatáskapcsolattal hasonló folyamatot használó folyamatokért lásd : Docker-rendszerképek létrehozása és leküldése az Azure Container Registrybe.
Előfeltételek
Egy Azure-fiók, ahol engedéllyel rendelkezik az erőforrások létrehozásához és konfigurálásához. Ha nem rendelkezik Azure-fiókkal, regisztráljon egy ingyenes fiókra.
Egy Azure DevOps-szervezet és -projekt, amelyben engedéllyel rendelkezik folyamatok létrehozására és alkalmazások üzembe helyezésére. Szervezet vagy projekt létrehozásához lásd : Új szervezet létrehozása vagy Projekt létrehozása az Azure DevOpsban.
Egy GitHub-fiók.
Fontos
Ha a GitHubot a következő eljárásokban használja, előfordulhat, hogy a rendszer kérni fogja, hogy hozzon létre egy GitHub-szolgáltatáskapcsolatot, jelentkezzen be a GitHubba, hitelesítse magát a GitHub-szervezeteknél, telepítse az Azure Pipelinest, vagy engedélyezze az Azure Pipelinest. A folyamat befejezéséhez kövesse a képernyőn megjelenő utasításokat. További információ: Access to GitHub-adattárak.
Mintaalkalmazás letöltése
A GitHubon elágaztathatja vagy klónozhatja a Docker- és Kubernetes-mintaadattárat Node.JS alkalmazástárat .
Container Registry létrehozása
Az Azure Portalon jelentkezzen be az Azure Cloud Shellbe a felső menüsáv ikonjának kiválasztásával. Ügyeljen arra, hogy a Bash-rendszerhéjat használja.
A Cloud Shellben futtassa az alábbi parancsokat egy erőforráscsoport és egy Azure-tárolóregisztrációs adatbázis létrehozásához az Azure CLI használatával. A Tárolóregisztrációs adatbázis nevének kisbetűsnek kell lennie.
az group create --name myapp-rg --location eastus az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
Ha Docker-rendszerképet szeretne üzembe helyezni az Azure-tárolóregisztrációs adatbázisban, engedélyeznie kell a beállításjegyzék rendszergazdai felhasználói fiókját, amely alapértelmezés szerint le van tiltva. A beállításjegyzék rendszergazdai felhasználójának engedélyezéséhez használja a
--admin-enabled
paramétert aaz acr update
paranccsal. További információkért és utasításokért lásd: Rendszergazdai fiók.az acr update -n <acrName> --admin-enabled true
Másik lehetőségként az Azure Portal felhasználói felületét is használhatja az Azure Container Registry létrehozásához. Útmutatásért lásd: Tárolóregisztrációs adatbázis létrehozása. A beállításjegyzék létrehozása után engedélyezze a rendszergazdai fiókot a Tulajdonságok területen.
A folyamat létrehozása
Az Azure DevOps-projektben válassza a Pipelines>New (Folyamatok új) vagy a Create pipeline (Folyamat létrehozása) lehetőséget, ha ez a folyamat az első a projektben.
Válassza a GitHubot a forráskód helyeként.
Az Adattár kiválasztása képernyőn válassza ki a mintakódtárat.
A folyamat konfigurálása képernyőn válassza a Docker: Rendszerkép létrehozása és leküldése az Azure Container Registry-folyamatba.
A Docker képernyőjén válassza ki az Azure-előfizetését, majd válassza a Folytatás lehetőséget.
Válassza ki a tárolóregisztrációs adatbázist a legördülő menüből, adjon meg egy képnevet, majd válassza az Ellenőrzés és konfigurálás lehetőséget.
Az Azure Pipelines létrehoz egy azure-pipelines.yml fájlt, amely meghatározza a folyamatot.
Tekintse át a kódot azure-pipelines.yml, majd válassza a Mentés és futtatás lehetőséget.
Igény szerint szerkessze a véglegesítési üzenetet , és adjon meg egy leírást. Ezután válassza a Mentés lehetőséget, és futtassa újra a azure-pipelines.yml fájlt az adattárban való véglegesítéséhez, és indítsa el a buildet.
A buildelési oldal a build részleteit és a folyamat előrehaladását mutatja. A folyamat működés közbeni megtekintéséhez válassza a Build (Build) lehetőséget a Feladatok területen.
Folyamat részletei
A folyamat a Docker-tárolósablonból jön létre. A buildelési fázis a Docker v2 feladatával hozza létre és küldje le a Docker-rendszerképet a tárolóregisztrációs adatbázisba.
A Docker-feladat egy Docker-beállításjegyzék-szolgáltatáskapcsolatot használ szolgáltatásnév-hitelesítéssel, hogy a folyamat lemezképeket küldjön a tárolóregisztrációs adatbázisba. A Docker-tárolósablon ezt a szolgáltatáskapcsolatot hozza létre a folyamat létrehozásakor.
- stage: Build
displayName: Build and push stage
jobs:
- job: Build
displayName: Build job
pool:
vmImage: $(vmImageName)
steps:
- task: Docker@2
displayName: Build and push an image to container registry
inputs:
command: buildAndPush
repository: $(imageRepository)
dockerfile: $(dockerfilePath)
containerRegistry: $(dockerRegistryServiceConnection)
tags: |
$(tag)
Az erőforrások eltávolítása
Ha befejezte az oktatóanyagban létrehozott erőforrások használatát, törölheti őket, hogy elkerülje a további költségek felmerülését. Futtassa a következő Cloud Shell-parancsot az erőforráscsoport és a benne lévő összes erőforrás törléséhez.
az group delete --name myapp-rg