diff --git a/.azure-pipelines/azure-pipelines-UpgrateVersion.yml b/.azure-pipelines/azure-pipelines-UpgrateVersion.yml index 0c7f7f9662..4f1625b297 100644 --- a/.azure-pipelines/azure-pipelines-UpgrateVersion.yml +++ b/.azure-pipelines/azure-pipelines-UpgrateVersion.yml @@ -45,17 +45,7 @@ stages: jobFilters: ${{ parameters.jobFilters }} buildOptions: '${{ variables.VERSION_CONTROL_OPTIONS }} SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y' preSteps: - - script: | - containers=$(docker container ls | grep "sonic-slave" | awk '{ print $1 }') - if [ ! -z "$containers" ]; then - docker container kill $containers || true - sleep 5 - fi - images=$(docker images 'sonic-slave-*' -a -q) - if [ ! -z "$images" ]; then - docker rmi -f $images - fi - displayName: 'Cleanup sonic slave' + - template: template-clean-sonic-slave.yml - stage: UpgradeVersions jobs: - job: UpgradeVersions diff --git a/.azure-pipelines/docker-sonic-slave-template.yml b/.azure-pipelines/docker-sonic-slave-template.yml index a8b00fa576..212b449abb 100644 --- a/.azure-pipelines/docker-sonic-slave-template.yml +++ b/.azure-pipelines/docker-sonic-slave-template.yml @@ -38,6 +38,7 @@ jobs: pool: ${{ parameters.pool }} steps: - template: cleanup.yml + - template: template-clean-sonic-slave.yml - checkout: self clean: true submodules: recursive @@ -68,16 +69,6 @@ jobs: BUILD_OPTIONS = 'SONIC_VERSION_CONTROL_COMPONENTS=deb,py2,py3,web,git,docker' fi - containers=$(docker container ls | grep "sonic-slave" | awk '{ print $1 }') - if [ ! -z "$containers" ]; then - docker container kill $containers || true - sleep 5 - fi - images=$(docker images 'sonic-slave-*' -a -q) - if [ ! -z "$images" ]; then - docker rmi -f $images - fi - tmpfile=$(mktemp) echo ${{ parameters.arch }} > .arch diff --git a/.azure-pipelines/template-clean-sonic-slave.yml b/.azure-pipelines/template-clean-sonic-slave.yml new file mode 100644 index 0000000000..cc995e9c26 --- /dev/null +++ b/.azure-pipelines/template-clean-sonic-slave.yml @@ -0,0 +1,8 @@ +steps: +- script: | + containers=$(docker container ls -a | grep "sonic-slave" | awk '{ print $1 }') + [ -n "$containers" ] && docker container rm -f containers + docker images | grep "^" | awk '{print$3}' | xargs -i docker rmi {} + images=$(docker images 'sonic-slave-*' -a -q) + [ -n "$images" ] && docker rmi -f $images + displayName: 'Cleanup sonic slave'