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


Tárolórendszerképek létrehozása és leküldése a regisztrációs adatbázisokba az Azure Pipelines használatával

Azure DevOps Services

Ez a cikk végigvezeti a Docker-rendszerképek Azure Container Registrybe vagy Docker Hubba történő létrehozására és leküldésére szolgáló folyamat létrehozásán.

Előfeltételek

termék követelmények
Azure DevOps - Egy Azure DevOps-projekt.
- engedélyek:
    – A projekt összes folyamatához való hozzáférés biztosításához: A Projektgazdák csoporttagjának kell lennie.
    - Szolgáltatáskapcsolatok létrehozásához: rendszergazdai vagy létrehozói szerepkörrel kell rendelkeznie szolgáltatáskapcsolatok.
- 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.
GitHub - Egy GitHub--fiók.
- Egy GitHub-adattár Dockerfile-nal. Ha nem rendelkezik saját projekttel, használja a mintaadattárat.
- Egy GitHub-szolgáltatáskapcsolat az Azure Pipelines engedélyezéséhez.
Azúr - Egy Azure-előfizetés.
- Az Azure Container Registry.
termék követelmények
Azure DevOps - Egy Azure DevOps-projekt.
- engedélyek:
    – A projekt összes folyamatához való hozzáférés biztosításához: A Projektgazdák csoporttagjának kell lennie.
    - Szolgáltatáskapcsolatok létrehozásához: rendszergazdai vagy létrehozói szerepkörrel kell rendelkeznie szolgáltatáskapcsolatok.
- 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.
GitHub - Egy GitHub--fiók.
- Egy GitHub-adattár Dockerfile-nal. Ha nem rendelkezik saját projekttel, használja a mintaadattárat.
- Egy GitHub-szolgáltatáskapcsolat az Azure Pipelines engedélyezéséhez.
Docker Hub - Egy Docker Hub-fiók.
- Egy Docker Hub képállománytár.

Docker-beállításjegyzék-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. További információ: Docker Registry szolgáltatáskapcsolatai.

  1. Az Azure DevOps-projektben válassza Projektbeállítások>Szolgáltatáskapcsolatoklehetőséget.

    Képernyőkép a Project beállításainak kiválasztásáról.

  2. Válassza a(z) új szolgáltatás kapcsolat és a(z) Docker Registrylehetőséget.

    Képernyőkép a Docker-beállításjegyzék kiválasztásáról.

  3. Válassza Docker Hub, és adja meg a következő adatokat:

    Mező Leírás
    Docker-azonosító Adja meg a Docker-azonosítóját.
    Docker-jelszó Adja meg Docker-jelszavát.
    szolgáltatáskapcsolat neve Adja meg a szolgáltatáskapcsolat nevét.
    Hozzáférési engedély megadása az összes pipeline-hoz Válassza ezt az opciót az összes pipeline-hez való hozzáférés engedélyezéséhez.

    Képernyőkép a Docker Hub szolgáltatáskapcsolati párbeszédpaneléről.

  4. Válassza a Ellenőrzés és mentéslehetőséget.

Folyamat létrehozása Docker-rendszerkép 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. 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ésekkel hozzon létre egy YAML-folyamatot, amely a Docker@2 feladatot használja a rendszerkép létrehozásához és leküldéséhez.

  1. Az Azure DevOps-projektben válassza a Pipelines és a Új pipelinelehetőséget.

  2. Válassza GitHub a forráskód helyeként, és válassza ki az adattárat.

    • Ha a rendszer átirányítja a GitHubra a bejelentkezéshez, adja meg a GitHub hitelesítő adatait.
    • 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.
  3. Válassza ki az adattárat.

  4. Válassza ki a Starter-folyamatsablont egy alapszintű folyamatkonfiguráció létrehozásához.

  5. Cserélje le a azure-pipelines.yml tartalmát a következő kódra:

    
    trigger:
    - main
    
    pool:
      vmImage: 'ubuntu-latest' 
    
    variables:
      repositoryName: '<target repository name>' 
    
    steps:
    - task: Docker@2
      inputs:
        containerRegistry: '<docker registry service connection>'
        repository: $(repositoryName)
        command: 'buildAndPush'
        Dockerfile: '**/Dockerfile'
    
    
  6. A folyamat YAML-fájljának szerkesztése az alábbiak szerint:

    • 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.
    • Cserélje le <docker registry service connection> a korábban létrehozott Docker-beállításjegyzék-szolgáltatáskapcsolat nevére.
  7. Ha végzett, válassza a Mentés és futtatás>Mentés és futtatáslehetőséget.

  8. Válassza Feladat lehetőséget a naplók megtekintéséhez és a folyamat sikeres futásának ellenőrzéséhez.

  1. Nyissa meg az Azure DevOps-projektet, és válassza Pipeline-ek a bal oldali menüből.

  2. Válassza a(z) Új csővezetéklehetőséget.

  3. Válassza GitHub a forráskód helyeként, és válassza ki az adattárat.

    • Ha a rendszer átirányítja a GitHubra a bejelentkezéshez, adja meg a GitHub hitelesítő adatait.
    • 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.
  4. Válassza ki a Docker – Rendszerkép létrehozása és feltöltése az Azure Container Registry sablonját.

  5. Válassza ki az Azure-előfizetését, és Folytassa.

  6. Válassza ki a Tárolóregisztrációt, majd válassza az Ellenőrzés és konfiguráláslehetőséget.

    Példa YAML csővezeték:

    # Docker
    # Build and push an image to Azure Container Registry
    # https://docs.microsoft.com/azure/devops/pipelines/languages/docker
    
    trigger:
    - main
    
    resources:
    - repo: self
    
    variables:
      # Container registry service connection established during pipeline creation
      dockerRegistryServiceConnection: '7f9dc28e-5551-43ee-891f-33bf61a995de'
      imageRepository: 'usernamepipelinesjavascriptdocker'
      containerRegistry: 'repoistoryname.azurecr.io'
      dockerfilePath: '$(Build.SourcesDirectory)/app/Dockerfile'
      tag: '$(Build.BuildId)'
    
      # Agent VM image name
      vmImageName: 'ubuntu-latest'
    
    stages:
    - stage: Build
      displayName: Build and push stage
      jobs:
      - job: Build
        displayName: Build
        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)
    
    
  7. Válassza a Mentés és futtatás elemet, majd a Mentés és futtatás elemet ismét.

  8. Válassza Feladat lehetőséget a naplók megtekintéséhez és a folyamat sikeres futásának ellenőrzéséhez.

A Docker-sablon létrehozza az Azure Container Registry szolgáltatáskapcsolatát, és a Docker@2 feladattal hozza létre és küldi le a Docker-rendszerképet a beállításjegyzékbe.

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.

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.