a7695e0221
Why I did it Work item tracking Microsoft ADO (number only): 25858445 How I did it docker-sonic-mgmt.yml will build docker with Python2 and Python3 both. docker-sonic-mgmt-py3-only.yml will build docker with Python3 only.
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
# Starter pipeline
|
|
# Start with a minimal pipeline that you can customize to build and deploy your code.
|
|
# Add steps that build, run tests, deploy, and more:
|
|
# https://aka.ms/yaml
|
|
# Build and push sonic-mgmt image
|
|
|
|
schedules:
|
|
- cron: "0 8 * * *"
|
|
branches:
|
|
include:
|
|
- master
|
|
always: true
|
|
|
|
trigger: none
|
|
pr:
|
|
branches:
|
|
include:
|
|
- master
|
|
paths:
|
|
include:
|
|
- dockers/docker-sonic-mgmt
|
|
|
|
parameters:
|
|
- name: registry_url
|
|
type: string
|
|
default: sonicdev-microsoft.azurecr.io
|
|
- name: registry_conn
|
|
type: string
|
|
default: sonicdev
|
|
|
|
stages:
|
|
- stage: Build
|
|
jobs:
|
|
- job: Build
|
|
pool: sonicbld
|
|
timeoutInMinutes: 360
|
|
steps:
|
|
- template: cleanup.yml
|
|
- checkout: self
|
|
clean: true
|
|
- 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
|
|
|
|
make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic
|
|
make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y LEGACY_SONIC_MGMT_DOCKER=n target/docker-sonic-mgmt.gz
|
|
cp target -r $(Build.ArtifactStagingDirectory)/target
|
|
docker load -i target/docker-sonic-mgmt.gz
|
|
docker tag docker-sonic-mgmt $REGISTRY_SERVER/docker-sonic-mgmt:py3only
|
|
env:
|
|
REGISTRY_SERVER: ${{ parameters.registry_url }}
|
|
displayName: Build docker-sonic-mgmt.gz
|
|
- task: Docker@2
|
|
displayName: Upload image
|
|
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"
|
|
|