-
Notifications
You must be signed in to change notification settings - Fork 118
Rebuilding and Republishing v4 Images [Non Appservice]
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.
At this time, rebuild is kicked off manually in response to a recurring self service alert.
- 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
- 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
- After kicking off a successful github action, you must wait for build to finish
- 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 💯
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 |
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 |
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 |
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 |
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 |
mcr.microsoft.com/azure-functions/base
Linux amd64 Tags
Tags | OS Version |
---|---|
4 |
Debian 11 |
4-slim |
Debian 11 |
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.