]> git.puffer.fish Git - matthieu/frr.git/commitdiff
doc: add release instructions for docker images
authorQuentin Young <qlyoung@qlyoung.net>
Mon, 20 Mar 2023 20:54:20 +0000 (16:54 -0400)
committerQuentin Young <qlyoung@qlyoung.net>
Mon, 20 Mar 2023 21:04:43 +0000 (17:04 -0400)
Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
doc/developer/frr-release-procedure.rst

index 6ba44b9c49f05cdffbe2bb51b9173bd7e99b31c6..6088b52da44b93fd010fe0b4ead2250f01f9ce69 100644 (file)
@@ -145,6 +145,30 @@ Stage 2 - Staging
 
 #. Kick off the Snapcraft build plan for the release.
 
+#. Build Docker images
+
+   1. Log into the Netdef Docker build VM
+   2. ``sudo -su builduser``
+   3. Suppose we are releasing 8.5.0, then ``X.Y.Z`` is ``8.5.0``. Run this:
+
+      .. code-block:: console
+         
+         cd /home/builduser/frr
+         TAG=X.Y.Z
+         git fetch --all
+         git checkout frr-<version>
+         docker buildx build --platform linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/arm/v7,linux/arm/v6 -f docker/alpine/Dockerfile -t quay.io/frrouting/frr:$TAG --push .
+         git tag docker/$TAG
+         git push origin docker/$TAG
+
+      This will build a multi-arch image and upload it to Quay, as well as
+      create a git tag corresponding to the commit that the image was built
+      from and upload that to Github. It's important that the git tag point to
+      the exact codebase that was used to build the docker image, so if any
+      changes need to be made on top of the ``frr-<version>`` release tag, make
+      sure these changes are committed and pointed at by the ``docker/X.Y.Z``
+      tag.
+
 
 Stage 3 - Publish
 -----------------