簡體   English   中英

在 azure 構建管道中,一旦推送自托管代理,如何清理 docker 圖像(作為管道的一部分創建)?

[英]In the azure build pipeline, how to cleanup the docker images (created as part of the pipeline) from self hosted agent once it is pushed?

我正在使用自托管代理來運行我的構建管道。 代理機已下載基本 docker 映像。 管道使用第一個任務構建並推送新的 docker 映像(基於基礎映像的頂部),如下面的屏幕截圖所示。

碼頭工人任務

構建映像並將其推送到容器注冊表后,我希望從自托管代理清理映像(作為此管道的一部分創建)以避免將來出現磁盤空間問題(應保留基本映像)。 是否有 Docker 任務來清理/刪除構建的圖像? 在 azure 構建管道中,一旦推送自托管代理,如何清理 docker 映像?

這個答案可能會遲到,但它就在這里。

我使用這種流程來清理代理中的圖像(以及更多):

  - job: DockerCleanBuildAndTest
    displayName: Docker Build and Test
    workspace:
      clean: all
    steps:
      - task: DockerCompose@0
        displayName: Clean
        inputs:
          containerregistrytype: 'Container Registry'
          dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
          dockerComposeFile: '**/docker-compose.yml'
          action: 'Run a Docker Compose command'
          dockerComposeCommand: down
          detached: false

      - task: DockerCompose@0
        displayName: Run Tests
        inputs:
          containerregistrytype: 'Container Registry'
          dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
          dockerComposeFile: '**/docker-compose.yml'
          action: 'Run a Docker Compose command'
          dockerComposeCommand: 'run all-tests'
          detached: false

也許在你的情況下,它會是這樣的:

- job: DockerCleanBuildAndTest
    displayName: Docker Build and Test
    workspace:
      clean: all
    steps:
      - task: DockerCompose@0
        displayName: Clean
        inputs:
          containerregistrytype: 'Container Registry'
          dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
          dockerComposeFile: '**/docker-compose.yml'
          action: 'Run a Docker Compose command'
          dockerComposeCommand: rm     #  <---
          detached: false

      - task: DockerCompose@0
        displayName: Run Tests
        inputs:
          containerregistrytype: 'Container Registry'
          dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
          dockerComposeFile: '**/docker-compose.yml'
          action: 'Run a Docker Compose command'
          dockerComposeCommand: 'run all-tests'
          detached: false

參考: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/docker-compose?view=azure-devops

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM