首页 > 解决方案 > YAML 应该如何在我的构建管道中使用 Docker 容器(sidecar 服务)

问题描述

只要我不需要传递自定义参数,我就可以很好地使用它们。

假设我想使用官方的 Docker 镜像somePublicImage:1.2.3:那么以下工作正常:

stages:
- stage: Build
  jobs:
  - job: BuildTestPack
    displayName: 'Build, test & pack'
    timeoutInMinutes: 5
    cancelTimeoutInMinutes: 2
    services:
      someService:
        image: somePublicImage:1.2.3
        ports:
        - 4223:4222

有一个选项可以配置容器--foo bar

如何在 Azure 构建管道中定义它?

我试过了:

标签: azure-devopsazure-pipelines

解决方案


似乎您需要先创建一个“自定义”资源容器。例如

resources:
  containers:
  - container: myThing
    image: somePublicImage:1.2.3
    ports:
    - 4223:4222
    volumes:
    - /docker_vol_config:/config
    command: '--foo bar'

然后可以将其用作服务:

stages:
- stage: Build
  jobs:
  - job: BuildTestPack
    displayName: 'Build, test & pack'
    timeoutInMinutes: 5
    cancelTimeoutInMinutes: 2
    services:
      myThing:myThing

推荐阅读