Skip to content

Commit

Permalink
[bldenv]: build sonic-slave docker
Browse files Browse the repository at this point in the history
Signed-off-by: Guohan Lu <lguohan@gmail.com>
  • Loading branch information
lguohan committed Dec 25, 2020
1 parent 327278c commit 89f3f07
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 13 deletions.
1 change: 1 addition & 0 deletions jenkins/bldenv/sonic-slave-buster.Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ pipeline {

environment {
DISTRO = 'buster'
ARCH = 'amd64'
SONIC_TEAM_WEBHOOK = credentials('public-jenkins-builder')
}

Expand Down
1 change: 1 addition & 0 deletions jenkins/bldenv/sonic-slave-jessie.Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ pipeline {

environment {
DISTRO = 'jessie'
ARCH = 'amd64'
SONIC_TEAM_WEBHOOK = credentials('public-jenkins-builder')
}

Expand Down
1 change: 1 addition & 0 deletions jenkins/bldenv/sonic-slave-stretch.Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ pipeline {

environment {
DISTRO = 'stretch'
ARCH = 'amd64'
SONIC_TEAM_WEBHOOK = credentials('public-jenkins-builder')
}

Expand Down
35 changes: 22 additions & 13 deletions scripts/bldenv/sonic-slave/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,45 @@

cd sonic-buildimage

echo "Building docker containers"
echo "Building docker containers for $DISTRO and $ARCH"

docker --version

USER=`id -un`
CONFIGURED_ARCH=amd64
SLAVE_DIR=sonic-slave-$DISTRO
CONFIGURED_ARCH=${CONFIGURED_ARCH} j2 ${SLAVE_DIR}/Dockerfile.j2 > ${SLAVE_DIR}/Dockerfile
SLAVE_BASE_TAG=$(sha1sum ${SLAVE_DIR}/Dockerfile | awk '{print substr($1,0,11);}')
SLAVE_TAG=$(cat ${SLAVE_DIR}/Dockerfile.user ${SLAVE_DIR}/Dockerfile | sha1sum | awk '{print substr($1,0,11);}')

if [ ${ARCH} == 'amd64' ]; then
SLAVE_BASE_IMAGE=${SLAVE_DIR}
else
SLAVE_BASE_IMAGE=${SLAVE_DIR}-${ARCH}
fi

tmpfile=$(mktemp)

echo $ARCH > .arch

BLDENV=$DISTRO make -f Makefile.work sonic-slave-build | tee $tmpfile

SLAVE_BASE_TAG=$(grep "^Checking sonic-slave-base image:" $tmpfile | awk -F ':' '{print $3}')
SLAVE_TAG=$(grep "^Checking sonic-slave image:" $tmpfile | awk -F ':' '{print $3}')

echo $USER
echo $SLAVE_BASE_TAG
echo $SLAVE_TAG

BLDENV=$DISTRO make sonic-slave-build

docker images

mkdir -p target

docker save sonic-slave-$DISTRO-$USER:$SLAVE_TAG | gzip -c > target/sonic-slave-$DISTRO.gz
docker save $SLAVE_BASE_IMAGE-$USER:$SLAVE_TAG | gzip -c > target/$SLAVE_BASE_IMAGE.gz

REGISTRY_PORT=443
REGISTRY_SERVER=sonicdev-microsoft.azurecr.io

docker tag sonic-slave-$DISTRO-$USER:$SLAVE_TAG local/sonic-slave-$DISTRO-$USER:latest
docker tag sonic-slave-$DISTRO-$USER:$SLAVE_TAG $REGISTRY_SERVER:$REGISTRY_PORT/sonic-slave-$DISTRO-$USER:latest
docker tag sonic-slave-$DISTRO:$SLAVE_BASE_TAG $REGISTRY_SERVER:$REGISTRY_PORT/sonic-slave-$DISTRO:latest
docker tag $SLAVE_BASE_IMAGE-$USER:$SLAVE_TAG local/$SLAVE_BASE_IMAGE-$USER:latest
docker tag $SLAVE_BASE_IMAGE-$USER:$SLAVE_TAG $REGISTRY_SERVER:$REGISTRY_PORT/$SLAVE_BASE_IMAGE-$USER:latest
docker tag $SLAVE_BASE_IMAGE:$SLAVE_BASE_TAG $REGISTRY_SERVER:$REGISTRY_PORT/$SLAVE_BASE_IMAGE:latest

docker login -u $REGISTRY_USERNAME -p "$REGISTRY_PASSWD" $REGISTRY_SERVER:$REGISTRY_PORT
docker push $REGISTRY_SERVER:$REGISTRY_PORT/sonic-slave-$DISTRO:latest
docker push $REGISTRY_SERVER:$REGISTRY_PORT/sonic-slave-$DISTRO-$USER:latest
docker push $REGISTRY_SERVER:$REGISTRY_PORT/$SLAVE_BASE_IMAGE:latest
docker push $REGISTRY_SERVER:$REGISTRY_PORT/$SLAVE_BASE_IMAGE-$USER:latest

0 comments on commit 89f3f07

Please sign in to comment.