我有以下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
您试图使用的工具不在管道使用的默认图像中。你有两种方法来解决这个问题:
-
在构建过程中安装该工具(您在自己的回答中这样做了(
-
使用已包含所需工具的其他构建映像
请参阅位桶文档。
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