Docker Compose in BitBucket Pipelines



我有以下BitBucket管道

pipelines:
default:
- step:
name: Build and test
image: mcr.microsoft.com/dotnet/core/sdk:3.1
caches:
- dotnetcore
script:
- REPORTS_PATH=./test-reports/build_${BITBUCKET_BUILD_NUMBER}
- dotnet restore
- dotnet build --no-restore --configuration Release
- step:
name: API Test
image: mcr.microsoft.com/dotnet/core/sdk:3.1
trigger: manual
services:
- customdocker
script:
- docker-compose -f docker-compose-api-tests.yml build
- docker-compose -f docker-compose-api-tests.yml up
definitions:
services:
customdocker:
image: docker/compose:1.28.5

我正在尝试在管道内运行docker compose。我得到以下错误:

  • docker compose-f docker-compose-api-tests.yml build bash:docker compose:未找到命令

有人能帮忙吗?感谢

我使用解决了这个问题

pipelines:
default:
- step:
name: Build
image: mcr.microsoft.com/dotnet/core/sdk:3.1
caches:
- dotnetcore
script:
- REPORTS_PATH=./test-reports/build_${BITBUCKET_BUILD_NUMBER}
- dotnet restore
- dotnet build --no-restore --configuration Release
- step:
name: Postman Tests
image: python:3.8.1
services:
- docker
caches:
- docker
- pip
script:
- pip install docker-compose
- docker network create dockernet
- docker-compose -f docker-compose-api-tests.yml build
- docker-compose -f docker-compose-api-tests.yml up --exit-code-from postman
definitions:
services:
docker:
memory: 3072

您试图使用的工具不在管道使用的默认图像中。你有两种方法来解决这个问题:

  1. 在构建过程中安装该工具(您在自己的回答中这样做了(

  2. 使用已包含所需工具的其他构建映像

请参阅位桶文档。

Bitbucket建议用户明确选择构建映像,因为默认映像非常陈旧,很少更新。对于您的用例,docker compose图像可能很好。

最新版本的默认Atlassian图像包含docker compose

script:
- /usr/local/bin/docker-compose version

输出:

+ /usr/local/bin/docker-compose version
Docker Compose version v2.15.1

最新更新