Skip to content

Refreshing Upstream Dependencies for all images

CooperLink edited this page May 5, 2023 · 1 revision

All Azure Functions Docker Images for Linux Dedicated/Elastic Premium are built and distributed based on tagged releases from this repo. There are also CI/CD pipelines that allow us to refresh Docker images with new upstream dependencies outside of the standard release cycle. We use this to resolve vulnerabilities as quickly as possible. This refresh applies to the major version images with tags starting in :4. Images are regularly refreshed with new upstream dependencies outside of standard host release using two mechanisms.

Refresh images for the most recent release

Using refresh pipelines, the most recent fully deployed v4 releases are refreshed about twice a month to bring in patched upstream dependencies. These fully tested releases are refreshed by rebuilding Functions images with fresh sources. These images are published to the major version tag and are available as a reliably updated source for custom images. Refreshed images are pushed to tags of the following form for each language and runtime. We publish -appservice, -slim and no-suffix images.

ex. mcr.microsoft.com/azure-functions/python:4-python3.8

Nightly Build for Functions v4 images

On a nightly basis, images are rebuilt based on the current dev branch of this repository. Those images are published to all v4 tags listed in the main readme under the tag 4-nightly. ex. mcr.microsoft.com/azure-functions/python:4-nightly-python3.8. These images will contain the freshest dependencies. But being that they are built off of the dev branch, so the bits have not been as thoroughly tested.

Using Nightly Build Images for Custom Solutions

Nightly build images can be used as a base image for customers that require the freshest dependencies. They are not recommended for most customers. Fully tested and deployed images are updated regularly using the refresh pipeline mentioned above. Unless your use case requires a base image that is rebuilt on a nightly basis the default selection should be the major version image tag for your given runtime image.

Another example (Node 18) : mcr.microsoft.com/azure-functions/node:4-node18