fdiotools/builder-ubuntu2004

By fdiotools

Updated over 1 year ago

This repo contains the CI/CD pipeline Ubuntu-20.04 based containers for FD.io (https://fd.io).

Image
Integration & delivery
2

100K+

fdiotools/builder-ubuntu2004 repository overview

This repo contains the CI/CD pipeline Ubuntu-20.04 based containers for FD.io (https://fd.io).

The images in this repository are used for the Ci/CD pipeline [0] of the LF-Networking/FD.io projects. In addition to production use, these images may be run by developers to build/test locally utilizing the production build environment. The following well-known tagnames are used by the jenkins server to utilize the latest production or sandbox image associated with each job:

  • prod-x86_64, prod-aarch64 – current jenkins production docker executor image
  • prod-prev-x86_64, prod-prev-aarch64 – previous jenkins production docker executor image (used to rollback)
  • sandbox-x86_64, sandbox-aarch64 – current jenkins sandbox image (used for verifying new images)

In order to build/run locally, run the following command to pull the current production executor image and spin up the container (note, this example assumes the host is x86_64 architecture):

sudo docker run -it --privileged --shm-size=1024M -m24g fdiotools/builder-ubuntu2004:prod-x86_64

FD.io core project repositories (in the state existing at the time the containers were built) are located in /scratch/docker-build. Once in the container, the latest code can be downloaded and built per the normal process. For example, for vpp:

cd /scrach/docker/vpp
git pull
make build-release

To fetch a specific VPP gerrit change under review (e.g. Gerrit Change 39276, Patchset 1 – https://gerrit.fd.io/r/c/vpp/+/39276):

cd /scratch/docker-build/vpp
git fetch https://gerrit.fd.io/r/vpp refs/changes/76/39276/1 && git checkout FETCH_HEAD

If desired, a local workspace can be mounted in the docker container by adding the docker volume command line argument to the above docker command (e.g. -v.:/vpp). Once in the container, usecd /vpp to change directories to the workspace.

The docker containers are constructed to all include all project package dependencies (either installed or cached) to prevent downloading and installing system or language packages during CI/CD job execution. This prevents most false job failures due to network or package server outages. Please see the README [1] file for the docker scripts used to generate the docker executor images for more details.

[0] https://jenkins.fd.io, https://gerrit.fd.io

[1] https://github.com/FDio/ci-management/blob/master/docker/scripts/README.md

Tag summary

Content type

Image

Digest

sha256:1876c6ad0

Size

1.6 GB

Last updated

over 1 year ago

docker pull fdiotools/builder-ubuntu2004:sandbox-aarch64