小编Kri*_*ord的帖子

如何构建 Docker 镜像然后使用构建的镜像来运行测试

我想使用 Azure Pipelines 构建 Docker 映像,然后使用容器作业在构建的映像内运行测试。

图像应使用构建 ID 作为标记(或构建 ID、提交哈希和分支名称的组合)。如果我使用静态标记作为值(例如build),则有两个并行运行的两条管道可能会导致不必要的竞争条件。

构建步骤非常简单 - 登录、构建并推送到 Docker Hub。

但是,在指定测试作业以使用容器时,我无法使用变量。

这是一个有效的示例,但它不使用私有注册表。

variables:
  - group: dockerCredentials
    # contains: dockerUsername, dockerPassword
  - name: imageName
    value: azure-pipelines-test
  - name: dockerRegistry
    value: krsb
  - name: fullImageName
    value:

jobs:
- job: build
  pool:
    vmImage: 'Ubuntu-16.04'
  steps:
  - script: |
      docker login -u $(dockerUsername) -p $(dockerPassword)
      docker build -t '$(dockerRegistry)/$(imageName):$(build.buildId)' .
      docker push '$(dockerRegistry)/$(imageName):$(build.buildId)'
    displayName: 'docker build'

- job: test
  dependsOn:
  - build
  pool:
    vmImage: ubuntu-16.04
  container:
    image: …
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines-build-task azure-pipelines

5
推荐指数
0
解决办法
263
查看次数