Tárolórendszerképek létrehozása és leküldése a regisztrációs adatbázisokba az Azure Pipelines használatával
Cikk
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Ez a cikk végigvezeti a Docker-rendszerképek Azure Container Registrybe, Docker Hubba és Google Artifact Registrybe való létrehozásához és leküldéséhez az Azure Pipelines használatával történő beállítási és konfigurációs útmutatón. Emellett részletezi System.AccessToken a folyamaton belüli biztonságos hitelesítés használatát is.
Ez a cikk végigvezeti a Docker-rendszerképek Docker Hubba és Google Artifact Registrybe való létrehozásához és leküldéséhez az Azure Pipelines használatával történő beállítási és konfigurációs útmutatón. Emellett részletezi System.AccessToken a folyamaton belüli biztonságos hitelesítés használatát is.
Megtudhatja, hogyan hozhat létre YAML-folyamatot a Docker-rendszerképek tárolóregisztrációs adatbázisba való létrehozásához és leküldéséhez. A Docker@2 feladat a rendszerkép összeállítására és a tárolóregisztrációs adatbázisba való leküldésére szolgál.
Előfeltételek
Egy Azure DevOps-projekt.
Tárolóregisztrációs adatbázis (Docker Hub, Google Artifact Registry vagy Azure Container Registry).
Egy GitHub-adattár Docker-fájllal. Ha nem rendelkezik ilyen tárházzal, használhatja a böngészőben található mintaadattárat , nyissa meg a mintaadattárat, majd forkozza el a GitHub-fiókjához.
Docker. Ha saját üzemeltetésű ügynököt használ, győződjön meg arról, hogy a Docker telepítve van, és a Docker-motor emelt szintű jogosultságokkal fut. A Microsoft által üzemeltetett ügynökök előre telepítették a Dockert.
Egy Azure DevOps-projekt.
Tárolóregisztrációs adatbázis (Docker Hub vagy Google Artifact Registry).
Egy GitHub-adattár Docker-fájllal. Ha nem rendelkezik ilyen tárházzal, használhatja a böngészőben található mintaadattárat , nyissa meg a mintaadattárat, majd forkozza el a GitHub-fiókjához.
Docker. Ha saját üzemeltetésű ügynököt használ, győződjön meg arról, hogy a Docker telepítve van, és a Docker-motor emelt szintű jogosultságokkal fut. A Microsoft által üzemeltetett ügynökök előre telepítették a Dockert.
Docker-szolgáltatáskapcsolat létrehozása
Mielőtt tárolórendszerképeket küld egy beállításjegyzékbe, létre kell hoznia egy szolgáltatáskapcsolatot az Azure DevOpsban. Ez a szolgáltatáskapcsolat tárolja a tárolóregisztrációs adatbázissal való biztonságos hitelesítéshez szükséges hitelesítő adatokat. Lépjen az Azure DevOps-projekt Szolgáltatáskapcsolatok lapjára egy új szolgáltatáskapcsolat létrehozásához, és válassza ki a Docker Registry kapcsolattípusát.
A Docker Hub és a Google Artifact Registry szolgáltatáskapcsolatának létrehozására különböző folyamatok léteznek.
Válassza a Docker Hub lehetőséget a Docker beállításjegyzék-szolgáltatás kapcsolatában, és adja meg a felhasználónevét és jelszavát a Docker-szolgáltatáskapcsolat létrehozásához.
Válassza az Azure Container Registry lehetőséget a Docker beállításjegyzék-szolgáltatás kapcsolatában, és adja meg a választott hitelesítési módszerhez szükséges információkat.
Az Azure DevOps Server nem támogatja a Docker-rendszerképek Azure Container Registrybe való leküldését.
A Google Artifact Registryhez társított Docker-szolgáltatáskapcsolat létrehozása:
Nyissa meg a projektet a Google Cloud Platform (GCP) konzolján, majd nyissa meg a Cloud Shellt
Ha időt szeretne spórolni a projektazonosító és a számítási motor zónabeállításainak beírásával, állítsa be az alapértelmezett konfigurációs értékeket az alábbi parancsok futtatásával:
gcloud config set project [PROJECT_NAME]
gcloud config set compute/zone [ZONE]
Cserélje le [PROJECT_NAME] a GCP-projekt nevére, és cserélje le [ZONE] az erőforrások létrehozásához használni kívánt zóna nevére. Ha nem biztos abban, hogy melyik zónát válassza, használja a következőt us-central1-a: . Példa:
gcloud config set project azure-pipelines-test-project-12345
gcloud config set compute/zone us-central1-a
Engedélyezze az Artifact Registry API-t a projekthez:
A Docker@2 feladat célja, hogy egyszerűsítse a Docker-rendszerképek Azure Pipelineson belüli létrehozásának, leküldésének és kezelésének folyamatát. Ez a feladat számos Docker-parancsot támogat, beleértve a buildelést, leküldést, bejelentkezést, kijelentkezést, indítást, leállítást és futtatást.
Az alábbi lépések azt ismertetik, hogyan hozhat létre olyan YAML-folyamatot, amely a Docker@2 feladatot használja a rendszerkép létrehozásához és leküldéséhez.
Lépjen az Azure DevOps-projektre, és válassza a Folyamatok lehetőséget a bal oldali menüből.
Új folyamat létrehozásához válassza az Új folyamatot .
Válassza ki a GitHubot vagy a GitHub Enterprise Servert a forráskód helyeként.
Ha még nem tette meg, engedélyezze az Azure Pipelines számára, hogy csatlakozzon a GitHub Enterprise Server-fiókjához.
Válassza a Csatlakozás a GitHub Enterprise Serverhez lehetőséget.
Adja meg a fiók adatait, majd válassza az Ellenőrzés és mentés lehetőséget.
Válassza ki az adattárat.
Ha átirányítják a GitHubra
Válassza ki a Starter-folyamatsablont egy alapszintű folyamatkonfiguráció létrehozásához.
Cserélje le a azure-pipelines.yml tartalmát a következő kódra.
Attól függően, hogy Linux- vagy Windows-alkalmazást helyez üzembe, ügyeljen arra, hogy az egyik vagy windows-latesta másikra legyen beállítva.vmImageubuntu-latest Ha saját üzemeltetésű ügynököt használ, állítsa be vmImage annak a készletnek a nevét, amely a Docker-képességgel rendelkező saját üzemeltetésű ügynököt tartalmazza. Hozzáadhatja a demands: docker tulajdonságot, hogy meggyőződjön arról, hogy a Dockerrel rendelkező ügynök ki van jelölve.
Cserélje le <docker connection> a korábban létrehozott Docker-szolgáltatáskapcsolat nevére.
Cserélje le <target repository name> a tárolóregisztrációs adatbázisban található adattár nevére, ahová le szeretné küldeni a lemezképet. Például: <your-docker-hub-username>/<repository-name>.
Ha elkészült, válassza a Mentés és futtatás lehetőséget.
Amikor menti a azure-pipelines.yml fájlt az adattárba, a rendszer kérni fogja, hogy adjon hozzá véglegesítési üzenetet. Írjon be egy üzenetet, majd válassza a Mentés és futtatás lehetőséget.
Saját üzemeltetésű ügynökök használatakor győződjön meg arról, hogy a Docker telepítve van az ügynök gazdagépén, és a Docker-motor/démon emelt szintű jogosultságokkal fut.
A rendszerkép létrehozásához a Dockert telepíteni kell az ügynök gazdagépére, a Docker-motornak/démonnak pedig emelt szintű jogosultságokkal kell futnia. Az alábbi lépésekkel hozza létre a folyamatot a YAML-folyamatszerkesztővel.
Nyissa meg a gyűjteményt, és hozzon létre egy projektet.
A projektben válassza a Folyamatok lehetőséget.
Válassza a Folyamat létrehozása lehetőséget.
Válassza a GitHub Enterprise Servert a forráskód helyeként.
Ha még nem tette meg, engedélyezze az Azure Pipelines számára, hogy csatlakozzon a GitHub Enterprise Server-fiókjához.
Válassza a Csatlakozás a GitHub Enterprise Serverhez lehetőséget.
Adja meg a fiók adatait, majd válassza az Ellenőrzés és mentés lehetőséget.
Válassza ki az adattárat.
Ha átirányítja a GitHubra az Azure Pipelines alkalmazás telepítéséhez, válassza a Jóváhagyás és a telepítés lehetőséget.
A folyamat konfigurálásához válassza a Docker-rendszerképsablon létrehozása lehetőséget.
A YAML-folyamatszerkesztőben cserélje le a YAML-fájl tartalmát a következő kódra. Cserélje le a készlet nevét a saját üzemeltetésű ügynököt tartalmazó készlet nevére a Docker-képességre.
Attól függően, hogy Linux- vagy Windows-alkalmazást helyez üzembe, ügyeljen arra, hogy az egyik vagy windows-latesta másikra legyen beállítva.vmImageubuntu-latest
Cserélje le <target repository name> a tárolóregisztrációs adatbázisban található adattár nevére, ahová le szeretné küldeni a lemezképet. Például: <your-docker-hub-username>/<repository-name>.
Cserélje le <docker connection> a korábban létrehozott Docker-szolgáltatáskapcsolat nevére.
A Mentés és futtatás lapon válassza a Mentés és futtatás lehetőséget.
Megtekintheti a folyamat futtatását, és megtekintheti a naplókat, hogy láthassa a Docker-rendszerkép összeállítását és a tárolóregisztrációs adatbázisba való leküldését.
A Docker@2 feladat a rendszerkép összeállítására és a tárolóregisztrációs adatbázisba való leküldésére szolgál.
A Docker@2 feladat célja, hogy egyszerűsítse a Docker-rendszerképek Azure Pipelineson belüli létrehozásának, leküldésének és kezelésének folyamatát. Ez a feladat számos Docker-parancsot támogat, beleértve a buildelést, leküldést, bejelentkezést, kijelentkezést, indítást, leállítást és futtatást.
Az alábbi lépések azt ismertetik, hogyan hozhat létre olyan YAML-folyamatot, amely a Docker@2 feladatot használja a rendszerkép létrehozásához és leküldéséhez.
Lépjen az Azure DevOps-projektre, és válassza a Folyamatok lehetőséget a bal oldali menüből.
Új folyamat létrehozásához válassza az Új folyamatot .
Válassza ki a GitHubot vagy a GitHub Enterprise Servert a forráskód helyeként.
Ha még nem tette meg, engedélyezze az Azure Pipelines számára, hogy csatlakozzon a GitHub Enterprise Server-fiókjához.
Válassza a Csatlakozás a GitHub Enterprise Serverhez lehetőséget.
Adja meg a fiók adatait, majd válassza az Ellenőrzés és mentés lehetőséget.
Válassza ki az adattárat.
Válassza ki a Starter-folyamatsablont egy alapszintű folyamatkonfiguráció létrehozásához.
Cserélje le a azure-pipelines.yml tartalmát a következő kódra.
Attól függően, hogy Linux- vagy Windows-alkalmazást helyez üzembe, ügyeljen arra, hogy az egyik vagy windows-latesta másikra legyen beállítva.vmImageubuntu-latest Ha saját üzemeltetésű ügynököt használ, állítsa be vmImage annak a készletnek a nevét, amely a Docker-képességgel rendelkező saját üzemeltetésű ügynököt tartalmazza. Hozzáadhatja a demands: docker tulajdonságot, hogy meggyőződjön arról, hogy a Dockerrel rendelkező ügynök ki van jelölve.
Cserélje le <docker connection> a korábban létrehozott Docker-szolgáltatáskapcsolat nevére.
Cserélje le <target repository name> a tárolóregisztrációs adatbázisban található adattár nevére, ahová le szeretné küldeni a lemezképet. Például: myregistry.azurecr.io/myimage.
Ha elkészült, válassza a Mentés és futtatás lehetőséget.
Amikor menti a azure-pipelines.yml fájlt az adattárba, a rendszer kérni fogja, hogy adjon hozzá véglegesítési üzenetet. Írjon be egy üzenetet, majd válassza a Mentés és futtatás lehetőséget.
Saját üzemeltetésű ügynökök használatakor győződjön meg arról, hogy a Docker telepítve van az ügynök gazdagépén, és a Docker-motor/démon emelt szintű jogosultságokkal fut.
Az Azure DevOps Server nem támogatja a Docker-rendszerkép Azure Container Registrybe való leküldését.
A Docker@2 feladat célja, hogy egyszerűsítse a Docker-rendszerképek Azure Pipelineson belüli létrehozásának, leküldésének és kezelésének folyamatát. Ez a feladat számos Docker-parancsot támogat, beleértve a buildelést, leküldést, bejelentkezést, kijelentkezést, indítást, leállítást és futtatást.
Az alábbi lépések azt ismertetik, hogyan hozhat létre olyan YAML-folyamatot, amely a Docker@2 feladatot használja a rendszerkép létrehozásához és leküldéséhez.
Lépjen az Azure DevOps-projektre, és válassza a Folyamatok lehetőséget a bal oldali menüből.
Új folyamat létrehozásához válassza az Új folyamatot .
Válassza ki a GitHubot vagy a GitHub Enterprise Servert a forráskód helyeként.
Ha még nem tette meg, engedélyezze az Azure Pipelines számára, hogy csatlakozzon a GitHub Enterprise Server-fiókjához.
Válassza a Csatlakozás a GitHub Enterprise Serverhez lehetőséget.
Adja meg a fiók adatait, majd válassza az Ellenőrzés és mentés lehetőséget.
Válassza ki az adattárat.
Válassza ki a Starter-folyamatsablont egy alapszintű folyamatkonfiguráció létrehozásához.
Cserélje le a azure-pipelines.yml tartalmát a következő kódra.
Attól függően, hogy Linux- vagy Windows-alkalmazást helyez üzembe, ügyeljen arra, hogy az egyik vagy windows-latesta másikra legyen beállítva.vmImageubuntu-latest Ha saját üzemeltetésű ügynököt használ, állítsa be vmImage annak a készletnek a nevét, amely a Docker-képességgel rendelkező saját üzemeltetésű ügynököt tartalmazza. Hozzáadhatja a demands: docker tulajdonságot, hogy meggyőződjön arról, hogy a Dockerrel rendelkező ügynök ki van jelölve.
Cserélje le <docker connection> a korábban létrehozott Docker-szolgáltatáskapcsolat nevére.
Cserélje le <target repository name> a tárolóregisztrációs adatbázisban található adattár nevére, ahová le szeretné küldeni a lemezképet. Például: <your-project-id>/<your-image-name>.
Ha elkészült, válassza a Mentés és futtatás lehetőséget.
Amikor menti a azure-pipelines.yml fájlt az adattárba, a rendszer kérni fogja, hogy adjon hozzá véglegesítési üzenetet. Írjon be egy üzenetet, majd válassza a Mentés és futtatás lehetőséget.
Saját üzemeltetésű ügynökök használatakor győződjön meg arról, hogy a Docker telepítve van az ügynök gazdagépén, és a Docker-motor/démon emelt szintű jogosultságokkal fut.
A rendszerkép létrehozásához a Dockert telepíteni kell az ügynök gazdagépére, a Docker-motornak/démonnak pedig emelt szintű jogosultságokkal kell futnia. Az alábbi lépésekkel hozza létre a folyamatot a YAML-folyamatszerkesztővel.
Nyissa meg a gyűjteményt, és hozzon létre egy projektet.
A projektben válassza a Folyamatok lehetőséget.
Válassza a Folyamat létrehozása lehetőséget.
Válassza a GitHub Enterprise Servert a forráskód helyeként.
Ha még nem tette meg, engedélyezze az Azure Pipelines számára, hogy csatlakozzon a GitHub Enterprise Server-fiókjához.
Válassza a Csatlakozás a GitHub Enterprise Serverhez lehetőséget.
Adja meg a fiók adatait, majd válassza az Ellenőrzés és mentés lehetőséget.
Válassza ki az adattárat.
A folyamat konfigurálásához válassza a Docker-rendszerképsablon létrehozása lehetőséget.
A YAML-folyamatszerkesztőben cserélje le a YAML-fájl tartalmát a következő kódra. Cserélje le a készlet nevét a saját üzemeltetésű ügynököt tartalmazó készlet nevére a Docker-képességre.
Attól függően, hogy Linux- vagy Windows-alkalmazást helyez üzembe, ügyeljen arra, hogy az egyik vagy windows-latesta másikra legyen beállítva.vmImageubuntu-latest
Cserélje le <target repository name> a tárolóregisztrációs adatbázisban található adattár nevére, ahová le szeretné küldeni a lemezképet. Például: <your-project-id>/<your-image-name>.
Cserélje le <docker connection> a korábban létrehozott Docker-szolgáltatáskapcsolat nevére.
A Mentés és futtatás lapon válassza a Mentés és futtatás lehetőséget.
Megtekintheti a folyamat futtatását, és megtekintheti a naplókat, hogy láthassa a Docker-rendszerkép összeállítását és a tárolóregisztrációs adatbázisba való leküldését.
A System.AccessToken használata hitelesítéshez Docker@2 feladatban
Az Azure DevOps által biztosított tárolóregisztrációs adatbázissal hitelesítheti magát System.AccessToken . Ez a jogkivonat bizalmas hitelesítő adatok felfedése nélkül teszi lehetővé az erőforrások biztonságos elérését a folyamaton belül.
Az alábbi YAML-folyamat példája, a Docker@2 feladat a tárolóregisztrációs adatbázisba való bejelentkezésre és a Docker-rendszerkép leküldésére szolgál. Ez System.AccessToken környezeti változóként van beállítva a Docker-parancsok hitelesítéséhez.
Cserélje le <docker connection> a Docker beállításjegyzék-szolgáltatás kapcsolatának nevét.
Cserélje le <your repository> a Docker-adattár nevére.