Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 41 additions & 5 deletions .azure-pipelines/docker-sonic-mgmt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ pr:
include:
- dockers/docker-sonic-mgmt

resources:
repositories:
- repository: sonic-mgmt
type: github
name: sonic-net/sonic-mgmt
endpoint: sonic-net

parameters:
- name: registry_url
type: string
Expand All @@ -46,7 +53,6 @@ stages:
- bash: |
set -xe
git submodule update --init --recursive -- src/sonic-platform-daemons src/sonic-genl-packet src/sonic-sairedis src/ptf src/sonic-device-data src/sonic-dash-api

make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic
make -f Makefile.work BLDENV=bullseye SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y LEGACY_SONIC_MGMT_DOCKER=y target/docker-sonic-mgmt.gz
cp target -r $(Build.ArtifactStagingDirectory)/target
Expand All @@ -55,14 +61,44 @@ stages:
env:
REGISTRY_SERVER: ${{ parameters.registry_url }}
displayName: Build docker-sonic-mgmt.gz

- publish: $(Build.ArtifactStagingDirectory)
artifact: 'docker-sonic-mgmt'
displayName: "Archive docker image sonic-mgmt"

- job: validate_docker_image_and_upload
pool: sonicbld-1es
timeoutInMinutes: 360
dependsOn: Build
steps:
- checkout: sonic-mgmt
clean: true
displayName: 'Checkout sonic-mgmt'

- download: current
artifact: 'docker-sonic-mgmt'
displayName: "Download docker image sonic-mgmt"

- script: |
set -ex

docker load -i $(Pipeline.Workspace)/docker-sonic-mgmt/target/docker-sonic-mgmt.gz

cd ansible
sudo ./setup-management-network.sh -d
cd ../
docker rm -f sonic-mgmt

./setup-container.sh -n sonic-mgmt -d /data -i docker-sonic-mgmt -v
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about run something inside the docker to verify that the sonic-mgmt container is actually running?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I add docker exec sonic-mgmt bash -c "echo 'Container is running' && ps aux" to verify. If the container is not running, this command will fail.


docker exec sonic-mgmt bash -c "echo 'Container is running' && ps aux"
displayName: 'Setup sonic-mgmt docker container and verify'

- task: Docker@2
displayName: Upload image
condition: succeeded()
inputs:
containerRegistry: ${{ parameters.registry_conn }}
repository: docker-sonic-mgmt
command: push
tags: latest
- publish: $(Build.ArtifactStagingDirectory)
artifact: 'docker-sonic-mgmt'
displayName: "Archive docker image sonic-mgmt"

Loading