Skip to content

Rebuilding and Republishing v4 Images [Non Appservice]

Pragna Gopa edited this page Feb 27, 2023 · 1 revision

Functions Images are rebuilt and redeployed roughly two weeks after a finished release cycle. This rebuild only effects non-appservice images; images such as dotnet:4, python:3.0-python3.6-slim, or java:4-java11-build-env. Rebuilding these images a few weeks after they were initially built keeps us up to date on upstream dependencies that we install at build time. Deploying the images more regularly to major version image tags allows customers to rebuild their custom images with patched dependencies. This practice also helps keep our images compliant for customers that run dependency scans such as trivy or qualys on our images.

Trigger

At this time, rebuild is kicked off manually in response to a recurring self service alert.

Republish Process

  1. Start a republish release pipeline targetting a major version (3 ,4)
  • Set PreviousTagVersion to the tag you would like to rebuild (ex. 4.8.0)
  • Set RebuildVersion to your tag with '-rebuild.' appended (ex. 4.8.0-rebuild.1)
  • Do not change MajorVersion. It should be equivalent to your targeted version
  1. Kick off the Github Action - Re-Build Non-appservice Images
  • Set Rebuild Version to your RebuildVersion from earlier
  • Set Tag to Rebuild to your PreviousTagVersion from earlier
  1. After kicking off a successful github action, you must wait for build to finish
  1. After build success, you can get approval for the next stage of the pipeline - Re-release Non-Appservice Images to Major Version tags
  • Anyone on the TeamFoundation team for AnirudhGarg should have access to approve
  • This action releases the non-appservice images under the targeted major version tag. Within about 15 minutes the images should be updated in the public MCR.

Thank you for completing a rebuild of the existing Functions images 💯

Images that are rebuilt

V4 Images

Dotnet

mcr.microsoft.com/azure-functions/dotnet

Linux amd64 Tags

Tags OS Version
4 Debian 11
4-slim Debian 11
4-dotnet6-core-tools Debian 11

mcr.microsoft.com/azure-functions/dotnet-isolated

Tags OS Version
4 Debian 11
4-dotnet-isolated5.0-slim Debian 11
4-dotnet-isolated6.0-core-tools Debian 11

Node

mcr.microsoft.com/azure-functions/node

Linux amd64 Tags

Tags OS Version
4-node14 Debian 11
4-node14-slim Debian 11
4-node14-core-tools Debian 11
4-node16 Debian 11
4-node16-slim Debian 11
4-node16-core-tools Debian 11
4-node18 Debian 11
4-node18-slim Debian 11
4-node18-core-tools Debian 11

Powershell

mcr.microsoft.com/azure-functions/powershell

Linux amd64 Tags

Tags OS Version
4, 4-powershell7 Debian 11
4-slim, 4-powershell7-slim Debian 11
4-powershell7-core-tools Debian 11
4-powershell7.2 Debian 11
4-powershell7.2-slim Debian 11
4-powershell7.2-core-tools Debian 11

Java

mcr.microsoft.com/azure-functions/java

Linux amd64 Tags

Tags OS Version
4, 4-java8 Debian 11
4-slim, 4-java8-slim Debian 11
4-java8-build Debian 11
4-java11 Debian 11
4-java11-slim Debian 11
4-java11-core-tools Debian 11
4-java11-build Debian 11
4-java17 Debian 11
4-java17-slim Debian 11
4-java17-core-tools Debian 11
4-java17-build Debian 11

Python

mcr.microsoft.com/azure-functions/python

Linux amd64 Tags

Tags OS Version
4-python3.7 Debian 11
4-python3.7-slim Debian 11
4-python3.7-buildenv Debian 11
4-python3.7-core-tools Debian 11
4-python3.8 Debian 11
4-python3.8-slim Debian 11
4-python3.8-buildenv Debian 11
4-python3.8-core-tools Debian 11
4-python3.9 Debian 11
4-python3.9-slim Debian 11
4-python3.9-buildenv Debian 11
4-python3.9-core-tools Debian 11
4-python3.10 Debian 11
4-python3.10-slim Debian 11
4-python3.10-buildenv Debian 11
4-python3.10-core-tools Debian 11

Base

mcr.microsoft.com/azure-functions/base

Linux amd64 Tags

Tags OS Version
4 Debian 11
4-slim Debian 11

Notes

This pipeline also enables deployment to specific version tags (non-major versions) But, to do so the variable must be enabled on the publishing pipeline. And the Powershell Script needs to be updated to provide a targetVersion as well.