The Build Stage (build.yml)
The most complex pipeline template — downloading the Locked Box, running integration tests with manual Docker networking, and building the final artifact.
Downloads the Locked Box, runs integration tests, then zips the artifact.
Manual Docker Networking — only 100% stable approach:
steps:
- task: DownloadPipelineArtifact@2
inputs: { buildType: 'specific', buildVersionToDownload: 'latest' }
- script: gunzip -c image.tar.gz | docker load
- script: docker network create ci-net || true
- script: docker run --name mysql --network=ci-net -d mysql:8.0
- script: docker run --rm --network=ci-net [image] composer install
- script: zip -r artifact.zip .gitignore composer.json composer.lock ci config docroot hooks